rails测试不删除原有数据

最近做一个rails应用,数据库的数据从不同的网站抓下来,想直接把dev的数据导进test数据库,以测试数据的完整性。碰到一个比较棘手的问题是,在进行test时,rails会得新准备test数据库,这样原有的数据就会丢失。
一个解决办法是找到databases.rake文件,位于Ruby\lib\ruby\gems\1.8\gems\rails-2.0.2\lib\tasks目录下,注释掉 task :prepare 的实现(当然得留下def 声明),其作用是屏蔽run test时重新准备test数据库,保留原有数据。问题解决。
33、Rails开发:迁移、测试与模板定制 本文详细介绍了Rails开发中的多个关键主题,包括数据库迁移的最佳实践与问题处理、使用RSpec替代默认测试框架、通过Slim模板语言提升HTML开发效率,以及利用Webpack和cssnext进行现代化CSS管理。文章还提供了实际代码示例、配置步骤和流程图,帮助开发者构建更加灵活、可定制的Rails应用。无论你是Rails新手还是资深开发者,都能从中获得实用的技术方案和开发思路。 阅读详情

相关推荐

【软件系统架构】系列五:TCP/IP 协议栈

TCP/IP协议栈是现代网络通信的核心框架,采用分层架构设计,包含应用层、传输层、网络层和网络接口层四层结构。应用层提供HTTP、FTP等用户服务接口;传输层通过TCP/UDP实现端到端通信;网络层负责IP寻址和路由选择;网络接口层处理物理数据传输。数据在传输过程中经历层层封装,从应用层报文最终转换为物理层的比特流。该协议栈通过三次握手建立连接、数据传输、四次挥手断开连接的流程,确保可靠通信。作为互联网的基础,TCP/IP协议栈具有跨平台、标准化和可扩展的特点,广泛应用于各类网络设备和嵌入式系统中。

moton2017的博客 2121

rake 三兄弟——重置数据

错误记录 建立的http://localhost:3000/topics页面,出现了多余的Description一栏。解决的过程中,出现了网页红色报错关键词run: bin/rails db:migrate。 分析与解决方式 终端执行了一个错误指令rails generate scaffold topic title:string description description...

赵龙 全栈之路 569

LMK04208数据手册

LMK04208数据手册

执行rake db:migrate时的两个错误

rails的确是来的方便,一个rails generate scaffold命令下来就可以生成view、controller和model的所有文件,然后再执行rake db:migrate就可以生成相应的数据库表结构。而就是这个简单的rake db:migrate却产生了预想到的问题: 首先交代一下背景:rails创建项目时,默认使用了SQLite数据库。为了快速上手,我换成了M...

suoyihen 350

Rails的三种环境----开发环境,生产环境测试环境

Rails 的三个环境 Rails的应用程序预设提供了三种同的执行模式: development environment开发模式,用在你的开发的时候 test environment测试模式,用在执行测试程式时 production environment正式上线模式,用在实际的上线运作环境 Rails 控制台默认使用的是“开发环境”: $ rails co...

weixin_30810239的博客 457

rails 中 delete 与 destroy区别

关于delete与destroy的区别首先表现在效率上, delete比较高. 为什么会这样呢?     这是因为delete在做删除操的时候没有执行回调。看下官方api:   而destroy会执行:

lili974683978的专栏 1071

rspec-rails核心功能解析:让Rails测试效率提升10倍的秘诀

想要快速提升Ruby on Rails项目的测试效率吗?rspec-rails正是您需要的终极测试工具!作为RSpec的Rails扩展库,rspec-rails将行为驱动开发(BDD)理念完美融入Rails应用开发流程,让测试代码更加简洁、可读性更强。本文将深入解析rspec-rails的核心功能,揭示其让Rails测试效率提升10倍的秘诀。 ## 🚀 什么是rspec-rails? rsp

gitblog_01058的博客 854

rspec-rails测试数据隔离:如何确保测试之间的独立性

Rails应用程序开发中,测试数据的隔离是确保测试可靠性的关键因素。rspec-rails提供了强大的测试数据隔离机制,让每个测试用例都能在干净的环境下运行,避免数据污染和测试间的相互影响。💡 ## 为什么需要测试数据隔离? 想象一下这样的场景:第一个测试创建了一个用户记录,第二个测试也创建了用户记录,但由于数据库约束冲突导致测试失败。这就是典型的数据隔离问题。rspec-rails通过*

gitblog_00498的博客 765

ActiveMocker:加速你的Rails单元测试

ActiveMocker:加速你的Rails单元测试 在开发Rails应用时,单元测试是确保代码质量的重要环节。然而,加载Rails环境数据库往往会导致测试速度变慢,尤其是在大型项目中。为了解决这一问题,我们推荐使用ActiveMocker,一个能够显著提升Rails单元测试速度的开源项目。 项目介绍 ActiveMocker是一个用于生成ActiveRecord模型存根(stub)的工具。通过...

gitblog_00719的博客 634

Combustion配置全攻略:自定义测试目录与Rails模块加载技巧

Combustion是一款专为Rails Engines打造的测试框架,它提供了简单优雅的测试解决方案,帮助开发者轻松构建和测试Rails引擎。本文将详细介绍Combustion的配置方法,包括自定义测试目录结构和优化Rails模块加载的实用技巧,让你的Rails引擎测试工作更加高效。 ## 🚀 快速上手: Combustion基础配置 Combustion的核心配置集中在`lib/com

gitblog_00318的博客 774

Rails Dev Box快速入门:从零开始运行Rails测试套件

Rails Dev Box是一个专为Ruby on Rails核心开发设计的虚拟环境工具,它能帮助开发者快速搭建完整的Rails测试环境,无需手动配置复杂的依赖项。本文将详细介绍如何使用Rails Dev Box从零开始运行Rails测试套件,让你轻松投身Rails核心开发。 ## 准备工作:安装必要工具 在开始使用Rails Dev Box之前,需要确保你的系统中已经安装了以下工具: -

gitblog_00005的博客 298

如何从Rails中的所有表中删除所有数据

进入 查看对应的表格例如 ,查看blog全部数据,然后进行全部删除

琳琳的博客 282

使用 DB2 和 Ruby on Rails 进行测试

灵活的应用程序开发的一项关键需求是断地进行代码集成,确保回归测试成功。Ruby on Rails 框架可以大大简化这个任务。与其他著名的快速应用程序开发环境一样,Ruby 支持单元测试和功能测试;但是它还能够通过智能化的模板自...

ciyi7513的博客 473

清除或重新创建Ruby on Rails数据

我有一个充满数据的开发Ruby on Rails数据库。 我想删除所有内容并重建数据库。 我正在考虑使用类似的东西: rake db:recreate 这可能吗?

p15097962069的博客 878

Turbo-rails测试完全手册:从单元测试到系统测试的最佳实践

Turbo-rails是一款强大的Ruby on Rails插件,它能够显著提升Web应用的用户体验。为了确保Turbo-rails在项目中稳定运行,完善的测试策略至关重要。本指南将带你全面了解Turbo-rails测试方法,从单元测试到系统测试,助你构建可靠的Rails应用。 ## 测试环境搭建:配置Turbo-rails测试框架 要开始Turbo-rails测试之旅,首先需要正确配置测

gitblog_00199的博客 972

Rails测试中清空数据表/载入空fixtures

使用spec框架测试,其他测试框架雷同 创建spec/test/empty,其中放入空的yml夹具文件 CodeFixtures.reset_cacheFixtures.create_fixtures(File.join(RAILS_ROOT,"spec/fixtures/empty"),"students") 以此载入空的students表 当然在执...

dieke0186的博客 105

rails中migration数据库后测试通过的问题

rails项目中由于后期需求变化,需要在products数据库中增加一个字段来满足多国家商品的分类: rails g migration add_locale_to_products locale:string 完了之后,正常的web app操作均正常,但是末了测试时发生异常: rake test 打印出一大坨错误 :(...

weixin_33894640的博客 173

Rails db rake命令

db:create 在当前的RAILS_ENV环境创建数据库,如果这个环境变量没有设好,那就默认创建开发和测试数据库。 db:create:all 为所有的环境创建数据库,比如开发,测试,生产环境等。 db:drop 删掉指定环境的库,如果没有指定的话,就删掉开发测试数据库,与第一条一个意思。 db:drop:all 干掉所有环境数据库。 db:migrate 跑一下当前环境的migrati...

K.Sun 3177

rails测试之RSpec环境搭建

由于编程都是自学的,应用程度高,很长一段时间都对测试方面避而见。但看网上很多大牛都推荐“行为驱动开发”(Behavior-driven development),决定也尝试一把。 本文严格说算上原创,因为基本都是从网上学习来的,思考的余地大。感谢网络,让俺们也能搞定这种复杂而且先进的流程。 环境:ubunut12.04, ruby1.9.3-p327, rails3.2.11 第一步

adventurelw的专栏 1020

如何在Rails测试中正确使用after_commit everywhere?与DatabaseCleaner完美配合的终极指南

Rails应用开发中,数据库事务处理是保证数据一致性的关键。然而,传统的`after_commit`回调只能在ActiveRecord模型内部使用,这限制了我们在服务对象、业务逻辑层等地方处理事务后逻辑的能力。`after_commit_everywhere`这个强大的gem正是为了解决这个问题而生!🚀 ## 为什么你需要after_commit everywhere? 你是否遇到过这样的

gitblog_01070的博客 677
lping1986
博客等级 码龄21年 0粉丝 0原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值