我们是否需要像在after_destroy中那样在ActiveRecord中测试回调?

时间:2013-12-25 06:37:18

标签: ruby-on-rails unit-testing tdd

我们是否需要在ActiveRecord中测试回调,例如after_destroy

2 个答案:

答案 0 :(得分:0)

考虑到这样的事情:

after_destroy :clean_up_some_stuff

我认为您不需要测试after_destroy是否有效,但您需要完全测试clean_up_some_stuff方法是否正常运行。

答案 1 :(得分:0)

你可以在这里测试两件事。

在销毁clean_up_some_stuff

之后调用方法的目的是什么
test "should do the clean up stuff" do
  assert Model.new.clean_up_some_stuff
  # more asserts to verify the job is done
end

销毁对象并验证回调是否成功

test "should destroy" do
  object = Model.create
  assert  object.destroy
  # more asserts to verify the job is done
end

assertions-cheat-sheet应该会有所帮助。