关于测试的。
请翻墙批阅:http://fredwu.me/post/59395419899/writing-sensible-tests-for-happiness
欢迎吐槽,拍砖。。。皮嫩,轻点。。。 :P
恕我愚钝,有一些地方没看懂,比如下面的 let(:user) { traveller }
, 是把user.id
和and_return(user)
这两个user
变成traveller
? 那这个测试的执行顺序是啥样?
我第一反应是 这个traveller
是一个User
实例,那这句的作用是把stakeholder.user
变成了traveller
?
那 TA 和before
中的stakeholder.stub(:user).and_return(user)
是算把后者覆盖了?
有点乱。。。求指点
describe ApprovalStakeholder do
let(:stakeholder) do
create(:approval_stakeholder,
:approval => approval,
:user_id => user.id
)
end
subject { approval }
before do
stakeholder.stub(:user).and_return(user)
approval.stub(:stakeholders_as).and_return([stakeholder])
end
describe "#traveller" do
let(:user) { traveller }
its(:traveller) { should == traveller }
end
end