所以,我看过一个关于 TDD 的视频,其中演示者说,你应该只对类的一部分进行单元测试,即为外部世界提供一些东西。他提到这很好,因为这种方法可以确保类遵守“契约(Contract)”,因此它履行了其职责,但您可以自由地重构其背后的逻辑。
我在这里有点困惑,因为我了解到单元测试不应该依赖于外部世界。好吧,我知道这不是依赖关系,但为什么不测试内部逻辑呢? 任何想法?请随时添加作为答案!
最佳答案
确实...您测试的是向“外部世界”输出的内容,而不是从外部世界输入的内容。
这个想法是,你对代码输出正确结果所采取的内部步骤进行的测试越多,当实现发生变化时,你的单元测试就越会无意中中断,甚至尽管最终结果是完全正确的。您只希望单元测试在最终结果错误时提示。
关于java - 单元测试 - 定理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36270909/