我正在研究一个没有任何测试的旧Rails 2.3.8,我正在尝试使用带有机械师的rspec向应用程序添加一些测试。
我安装了rspec 1.3.0& 1.3.2并运行生成器脚本。
我按照说明操作: https://github.com/notahat/machinist/tree/1.0-maintenance
将以下内容添加到/spec/blueprints.rb
require 'machinist/active_record'
require 'sham'
以下一行指向spec_helper.rb
require File.expand_path(File.dirname(__FILE__) + "/blueprints")
我为用户创建了蓝图,当我尝试使用'User.make!'时在我的规范助手中(在登录方法中)我收到此错误:
NoMethodError in 'CategoriesController As a logged in user#index should render index'
undefined method `make!' for #<Class:0x7f42b9deea10>
这是我的spec_helper方法:
def login_user
user = User.make!
@request.session[:user_id] = user.id
@current_user ||= User.find_by_id(user.id)
end
自从我触及Rails 2.x应用程序已经有一段时间了,所以也许我在这里遗漏了一些东西。
答案 0 :(得分:0)
解决:
我不应该使用make!在旧版机械师
中我最后为机械师写了一个小测试,看它是否会加载我的蓝图,我选择了一个不太复杂的模型,即:一个验证不是10。
describe "machinist" do
it "should create a category" do
category = Category.make
category.name.should == "General"
end
end
这很有用,所以主要是验证和小语法错误。