有谁能解释一下这个测试代码的作用?:
assert_difference('Post.count') do
post :create, :post => { :title => 'Hi', :body => 'This is my first post.'}
end
Run Code Online (Sandbox Code Playgroud)
和:
assert_difference 'ActionMailer::Base.deliveries.size', +1 do
post :invite_friend, :email => 'friend@example.com'
end
Run Code Online (Sandbox Code Playgroud)
即使我阅读文档,我也无法理解.
谢谢!
Gre*_*ell 29
assert_difference验证eval在调用传递的块之后,评估其第一个参数(可传递给的String )的结果会改变一定量.上面的第一个例子可以"展开"到:
before = Post.count # technically, eval("Post.count")
post :create, :post => { :title => 'Hi', :body => 'This is my first post.'}
after = Post.count
assert_equal after, before + 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7415 次 |
| 最近记录: |