ruby-on-rails – Cucumber:Factory Girl不修改数据库 – 用.cr
发布时间:2020-12-17 01:28:19 所属栏目:百科 来源:网络整理
导读:p = Factory(:model) ap Model.find(:all) #output to prove that it's getting created 所以…打印显示对象的ID正在上升….但是数据库仍然是空的,因为我不断刷新MySQL工作台上的视图 – 所以我的黄瓜测试失败,因为控制器从数据库中提取东西…但数据库中没有
p = Factory(:model) ap Model.find(:all) #output to prove that it's getting created 所以…打印显示对象的ID正在上升….但是数据库仍然是空的,因为我不断刷新MySQL工作台上的视图 – 所以我的黄瓜测试失败,因为控制器从数据库中提取东西…但数据库中没有任何内容! =( 我的Gem文件:测试 group :test do gem "cucumber","~>0.10.3" gem "cucumber-rails","0.3.2" gem "launchy" gem "hpricot" gem "gherkin","~>2.4.0" gem "capybara","0.4.1.2" gem "rspec","1.3.2" gem "rspec-rails","1.3.2" gem "rspec-core" gem "rspec-expectations" gem "webrat","0.7.0" gem "database_cleaner" gem "factory_girl","1.2.4" gem "shoulda",:require => nil gem "shoulda-matchers",:git => "https://github.com/thoughtbot/shoulda-matchers" gem "awesome_print" gem "cobravsmongoose" end 我需要env.rb(黄瓜环境) ENV["RAILS_ENV"] = 'test' ENV["RACK_ENV"] = 'test' BASE_DOMAIN = "myapp.dev" #using POW require File.expand_path(File.dirname(__FILE__) + '/../../config/environment') require 'cucumber/formatter/unicode' # Remove this line if you don't want Cucumber Unicode support require 'cucumber/rails/world' require 'cucumber/rails/active_record' require 'cucumber/web/tableish' require 'cucumber/rails/rspec' require 'rake' require 'shoulda' require 'factory_girl' require 'factory_girl/step_definitions' require 'awesome_print' require 'capybara/rails' require 'capybara/cucumber' require 'capybara/session' 在envs / test.rb中 Bundler.require(:test) #just in case I forgot something 编辑: 一些控制台输出 #<ActiveRecord::Errors:0x10c5a6498 @base=#<ModelName id: 1,name: "Ready or not",status: 0,account_id: 2,user_id: 1,created_at: "2011-09-08 15:09:05",updated_at: "2011-09-08 15:09:05",description: "Things are not as they used to be",value: #<BigDecimal:10cb2c188,'0.12345E5',9(18)>,category_id: nil,allow_downloads: true,visibility: 1,locked: nil>,@errors=#<OrderedHash {}>> 在运行时查看控制台,这个对象是INSERT INTO命令…但是有这样的: RELEASE SAVEPOINT active_record_1 SQL (1.3ms) ROLLBACK 我觉得可能是导致问题的原因……某种先发制人的回滚. 解决方法
试试这个:
在env.rb中 require 'database_cleaner' require 'database_cleaner/cucumber' DatabaseCleaner.strategy = nil (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |