我试图添加rspec测试到我已经工作的应用程序。我一直在关注这个教程:2012年的http://everydayrails.com/2012/03/19/testing-series-rspec-models-factory-girl.html,所以我确定它是使用Rails 3完成的。我安装了rspec和capybara,运行bundle,并运行rails g rspec:install。我开始写下我的问题模型的测试,并且当我使用rspec spec/models/question_spec.rb运行它时迁移错误当设置rspec
我收到错误:迁移正在等待;运行'bin/rake db:migrate RAILS_ENV = test'来解决这个问题。我试图运行,我收到此错误约我以前迁移的一个:
== ChangeTestTypeInScores: migrating =========================================
-- change_column(:scores, :test_type, "boolean USING CAST(test_type AS boolean)")
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
SQLite3::SQLException: near "USING": syntax error: CREATE TABLE "scores" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "test_type" boolean USING CAST(test_type AS boolean), "name" varchar(255), "created_at" datetime, "updated_at" datetime, "user_id" integer, "month" varchar(255), "year" varchar(255))
我怎样才能正确地设置了rspec的不搞乱我的数据库,否则正常工作?
rails_helper.rb:
ENV["RAILS_ENV"] ||= 'test'
require 'spec_helper'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'capybara/rspec'
ActiveRecord::Migration.check_pending!
.rspec:
--color
--require spec_helper
--require rails_helper
--format documentation
question_spec.rb:
require 'spec_helper'
describe Question do
it "has a valid factory"
it "is invalid without a body"
it "is invalid without an answer"
end
我想有一个与我改变了一个问题:test_type在我的成绩模型布尔基于该错误,但它在本地和Heroku都很好,所以我不想惹我的数据库为了运行测试。任何帮助表示赞赏。
更新:看到很多其他相关的堆栈溢出问题后
config.active_record.maintain_test_schema = false
而且,我在我的版本轨更新到4.1.6: 我已将此添加到test.rb文件。现在我得到这个错误:
/Users/tambe257/.rvm/gems/ruby-2.0.0-p353/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:241:in `load': cannot load such file -- /Users/tambe257/programming/rails_projects/fast_track/spec/models/question.rb (LoadError)
它看起来像一些依赖关系的问题,但我一直在使用谷歌搜索错误,没有运气。