关于用其他方法组成的存根方法的问题

时间:2011-03-31 09:27:34

标签: unit-testing testing mocking stubbing

   def foo
     a & b & c & d
   end

这对应用程序逻辑非常重要,所以我必须为它编写好的测试。方法a,b,c,d已经过测试。我是否应该准备完整的数据来使a,b,c,d工作并返回请求的值,或者在这种情况下是否存在stub?

3 个答案:

答案 0 :(得分:1)

单元测试应该只测试被测方法,即foo。这意味着,你应该存根a,b,c和d。
为了使它有用,你应该确保覆盖那些可能由这些方法的返回值引起的极端情况。

答案 1 :(得分:1)

如果你真的想彻底测试一下,我会写两种自动测试:单元测试,它会接收a,b,c和d作为存根,以及集成测试,这将确保所有逻辑一起工作良好,并且没有集成问题。

答案 2 :(得分:1)

我很感激您希望彻底测试,但使用存根进行单元测试只能测试&运算符是否正常工作。该运算符不是您的代码。

如果使用模拟而不是存根,它至少会测试所有方法都被调用,但这实际上只是一种文档测试。

然而,使用数据的集成测试可能很有用。