我有一個純Ruby模型一個RSpec測試:純Ruby的RSpec測試通過,就沒有辦法被定義
require 'spec_helper'
require 'organization'
describe Organization do
context '#is_root?' do
it "creates a root organization" do
org = Organization.new
expect { org.is_root?.to eq true }
end
end
end
我的組織模式是這樣的:
class Organization
attr_accessor :parent
def initialize(parent = nil)
self.parent = parent
end
end
運行測試時,輸出:
bundle exec rspec spec/organization_spec.rb:6
Run options: include {:locations=>{"./spec/organization_spec.rb"=>[6]}}
.
Finished in 0.00051 seconds
1 example, 0 failures
當我運行測試,它通過,儘管方法is_root?在模型上不存在。我通常在Rails中工作,而不是純Ruby,而且我從未見過這種情況。到底是怎麼回事?
謝謝!
您可以張貼輸出運行在終端測試 – cvibha
你也可以啓動一個'軌console',問'後o.methods.select做| M | m.match/root/end'來驗證你對'is_root?'的假設嗎?' – Patru
顯然它的測試在期望{}中。當我放入org.method(:is_root?)時,我得到一個失敗:'1)Organization#is_root?創建根組織 失敗/錯誤:org.method(:is_root?) NameError: 未定義的方法'is_root?' '組織' #./spec/organization_spec.rb:10:in'方法' #./spec/organization_spec.rb:10:in'' –
rainslg