【发布时间】:2010-04-30 10:53:34
【问题描述】:
当您在 rspec 中使用 its 方法时,如下所示 its(:code) { should eql(0)} 'its' 指的是什么。
我有以下可以正常工作的规范
describe AdminlwController do
shared_examples_for "valid status" do
it { should be_an_instance_of(Api::SoapStatus) }
it "should have a code of 0" do
subject.code.should eql(0)
end
it "should have an empty errors array" do
subject.errors.should be_an(Array)
subject.errors.should be_empty
end
#its(:code) { should eql(0)}
end
describe "Countries API Reply" do
before :each do
co1 = Factory(:country)
co2 = Factory(:country)
@result = invoke :GetCountryList, "empty_auth"
end
subject { @result }
it { should be_an_instance_of(Api::GetCountryListReply) }
describe "Country List" do
subject {@result.country_list}
it { should be_an_instance_of(Array) }
it { should have(2).items }
it "should have countries in the list" do
subject.each {|c| c.should be_an_instance_of(Api::Country)}
end
end
describe "result status" do
subject { @result.status }
it_should_behave_like "valid status"
end
end
但是,如果我随后使用 its(:code) 取消注释该行,则会得到以下输出
标签: ruby-on-rails ruby rspec