关于测试的。
请翻墙批阅:http://fredwu.me/post/59395419899/writing-sensible-tests-for-happiness
欢迎吐槽,拍砖。。。皮嫩,轻点。。。 :P
好文!讲如何使用 Test framework 和 Test tool 的文章很多,但是讲如何写好 Test 的文章很少,楼主的文章很棒,感谢分享!
恕我愚钝,有一些地方没看懂,比如下面的 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