1
我剛剛升級到RSpec的2.13和運行我的規格時,我看到兩個不同的警告:RSpec的2.13預警:受以往的定義在這裏
/Users/peterbrown/.rvm/gems/ruby-2.0.0-p0/gems/rspec-core-2.13.0/lib/rspec/core/memoized_helpers.rb:120: warning: method redefined; discarding old subject
/Users/peterbrown/code/classy_enum/spec/classy_enum/active_record_spec.rb:63: warning: previous definition of subject was here
我懷疑它是與我是如何遍歷一個數組,每次定義一個新的主題:
describe DefaultDog do
context "with valid breed options" do
[:golden_retriever, 'golden_retriever', Breed::GoldenRetriever.new, Breed::GoldenRetriever].each do |option|
subject { DefaultDog.new(:breed => option) }
it { should be_valid }
its(:breed) { should be_a(Breed::GoldenRetriever) }
end
end
end
在這樣的循環中定義主題是否存在問題?
更新:
我也應該注意到,我跑我的規格與-w
選項:
RSpec::Core::RakeTask.new(:spec) do |t|
t.ruby_opts = "-w"
end
這樣做的伎倆,謝謝! – 2013-02-25 00:24:33