我知道这个问题是宗教 war 的一部分,但我有以下情况:
我有一个对象,Responder
调用对象 Updater
上的方法以应对不同的事件。我最近以这种方式分离测试:Updater
的基于状态的测试方法本身,以及 Responder
的基于行为的测试那叫它。也就是说,我 mock Updater
在 Responder
测试,只是为了确保它被调用。
我是否仍要测试应该在 Responder
中更新的对象的状态?测试而不是 mock Updater
?我喜欢我所做的,因为它需要更少的设置并且似乎可以更好地隔离测试。然而,这似乎与 Responder
的实现和预期行为相关联。至Updater
.是不是太脆了?这是一个简化的例子。
最佳答案
如果我确实正确理解了您的问题,您确实需要至少两个级别的测试:
所以总而言之,我认为你真的需要同时做这两个来正确测试你的应用程序。
关于unit-testing - 行为与基于状态的测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3514327/