gpt4 book ai didi

ruby-on-rails-3 - 具有rspec2 beta 5和rails3 beta2的Shoulda宏

转载 作者:行者123 更新时间:2023-12-04 18:16:29 25 4
gpt4 key购买 nike

我已经按照以下步骤设置了Rspec2 beta5和Shoulda,以便在rspec模型测试中使用Shoulda宏。
=================
2011年2月18日更新
现在我们可以开箱即用使用shoda-matchers。
只需在您的Gemfile中添加gem shoulda-matchers即可,而在spec_helper或其他黑客中则一无所有。它只是运行。
=================
gem 文件

group :test do
gem "rspec", ">= 2.0.0.beta.4"
gem "rspec-rails", ">= 2.0.0.beta.4"
gem 'shoulda', :git => 'git://github.com/bmaddy/
shoulda.git'
gem "faker"
gem "machinist"
gem "pickle", :git => 'git://github.com/codegram/
pickle.git'
gem 'capybara', :git => 'git://github.com/jnicklas/
capybara.git'
gem 'database_cleaner', :git => 'git://github.com/bmabey/
database_cleaner.git'
gem 'cucumber-rails', :git => 'git://github.com/aslakhellesoy/
cucumber-rails.git'
end
spec_helper.rb
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}

require 'shoulda'

Rspec.configure do |config|
规范/型号/导出_spec.rb
require 'spec_helper'

describe Outlet do
it { should validate_presence_of(:name) }
end
当我运行规范时,出现以下错误。
[~/rails_apps/rails3_apps/automation (master)⚡] ➔ spec spec/models/
outlet_spec.rb
DEPRECATION WARNING: RAILS_ROOT is deprecated! Use Rails.root instead.
(called from join at /home/millisami/.rvm/gems/ruby-1.9.1-p378%rails3/
bundler/gems/shoulda-87e75311f83548760114cd4188afa4f83fecdc22-master/
lib/shoulda/autoload_macros.rb:40)
F

1) Outlet
Failure/Error: it { should validate_presence_of(:name) }
undefined method `validate_presence_of' for
#<Rspec::Core::ExampleGroup::Nested_1:0xc4dc138 @__memoized={}>
# ./spec/models/outlet_spec.rb:4:in `block (2 levels) in <top
(required)>'

Finished in 0.0399 seconds
1 example, 1 failures
[~/rails_apps/rails3_apps/automation (master)⚡] ➔
为什么是“未定义的方法”?肩部是否已被加载?

最佳答案

使用RSpec 2.0.0.beta.19

# Gemfile
group :test do
gem "rspec", ">= 2.0.0.beta.19"
gem "rspec-rails", ">= 2.0.0.beta.17"
gem "shoulda"
end

# spec/spec_helper.rb
require 'rspec/rails'
require 'shoulda/integrations/rspec2' # Add this line

# In your specs....
it { should validate_presence_of(:name) }

现在,运行 rake spec应该加载并运行包括RSpec 2匹配器在内的规范。

关于ruby-on-rails-3 - 具有rspec2 beta 5和rails3 beta2的Shoulda宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2590796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com