java - 单元测试 - 定理

标签 java unit-testing theory

所以,我看过一个关于 TDD 的视频,其中演示者说,你应该只对类的一部分进行单元测试,即为外部世界提供一些东西。他提到这很好,因为这种方法可以确保类遵守“契约(Contract)”,因此它履行了其职责,但您可以自由地重构其背后的逻辑。

我在这里有点困惑,因为我了解到单元测试不应该依赖于外部世界。好吧,我知道这不是依赖关系,但为什么不测试内部逻辑呢? 任何想法?请随时添加作为答案!

最佳答案

确实...您测试的是向“外部世界”输出的内容,而不是从外部世界输入的内容。

这个想法是,你对代码输出正确结果所采取的内部步骤进行的测试越多,当实现发生变化时,你的单元测试就越会无意中中断,甚至尽管最终结果是完全正确的。您只希望单元测试在最终结果错误时提示。

关于java - 单元测试 - 定理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36270909/

相关文章:

java - 更改数组列表中对象的文本颜色

java - 是否有理由在 Java EE 的 @Webservice(.....) 注释中使用括号?

Java执行.exe文件

java - 可以从现有的 java/scala 接口(interface)和数据类型生成 .thrift 文件吗?

unit-testing - 如何在 Grails 单元测试中模拟 Java 类?

c# - 如何从单元测试中引用 VS 2012 可移植类库?

c# - WPF 应用程序的单元测试失败,出现 NotSupportedException "The Uri prefix is not recognized"

java - 确定同步范围?

language-agnostic - 确定界面应该有多细?

有限图灵机中自然和可识别语言的映射