unit-testing - 集成测试和单元测试有什么区别?

标签 unit-testing integration-testing

我知道单元测试和集成测试的所谓教科书定义。我很好奇的是什么时候应该编写单元测试......我将编写它们以涵盖尽可能多的类集。

例如,如果我有一个 Word类,我将为 Word 编写一些单元测试类(class)。然后,我开始写我的 Sentence类,以及当它需要与 Word 交互时类,我会经常编写我的单元测试,以便它们同时测试 SentenceWord ......至少在他们互动的地方。

这些测试是否本质上成为集成测试,因为它们现在测试这两个类的集成,或者它只是一个跨越两个类的单元测试?

一般来说,由于这条不确定的路线,我很少会真正编写集成测试......或者我正在使用成品来查看所有部分是否正常工作实际集成测试,即使它们是手动的并且很少重复超出范围每个单独的功能?

我是否误解了集成测试,或者集成测试和单元测试之间真的只有很小的区别?

最佳答案

在单元测试中,您测试隔离的每个部分:
enter image description here

在集成测试中,您测试系统的许多模块:

enter image description here

当您只使用单元测试时会发生这种情况(通常两个窗口都在工作,不幸的是不能一起工作):

enter image description here

资料来源:
source1
source2

关于unit-testing - 集成测试和单元测试有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10752/

相关文章:

c# - 最小起订量和构造函数 - 测试初始化​​行为

c# - 使用 Autofac 和 Moq 进行集成测试

javascript - 如何将参数传递给通过 Grunt 调用的 Mocha 测试

linux - Linux/ncurses 自动化测试工具

android - 如何测试自定义sdk android单元测试的元素

c# - 使用 Moq 模拟惰性界面

python - 如何在 pytest 中断言 ValueError

testing - 使用 dbunit 和 jetty 进行集成测试 - dbunit 不填充表

grails - 为什么将服务命名为 "service"在集成测试中不起作用?

java - 为什么 Mockito @InjectMocks 可能是要避免的事情?