![]() |
1
2
但是,纯单元测试无法告诉您是否在IoC容器中正确配置了对象,数据库连接字符串是否有效等。您需要一个测试,该测试运行IoC容器,并真正接触数据库以证明这些事情。
例如,我们对容器中的每个服务都有一个(单个)测试,证明我们可以从IoC容器请求它。这证明了我们已经做好了准备,从那时起,我们一直在进行单元测试。我们有很多纯单元测试。 然后,整个过程被包装在一些应用程序级功能测试中,以证明应用程序本身能够满足用户的需求。 要记住的是每种测试类型的时间成本。从纯单元移动->有线->功能测试在中断时会花费大量的执行时间和复杂性。 |
![]() |
2
1
对于问题更大的后端连接(目前只有一个ESB调用)或需要复杂状态的函数,我模拟。 |
![]() |
3
1
对于单元测试:如果一个对象不是被测试的对象,则模拟或存根它。 通过这种方式,您可以直接控制它,使其返回所需的数据。 如果创建测试对象/对象图,则必须 设置它 这样它就提供了您想要的数据。这可能比你想要的要多得多。 对于集成测试,您当然要一次测试整个对象图。 |
![]() |
4
0
如果您需要编写大量初始化代码,模拟框架可能会帮助您编写更好、易于理解的单元测试。
|
![]() |
Ragnarsson · 与TestNG并行运行测试无法按预期工作 6 年前 |
![]() |
user101289 · ruby gem测试失败 6 年前 |
![]() |
pam · Travis pr失败,推送通过 6 年前 |
![]() |
Kaisado · Ui设备等待按钮可见 6 年前 |
![]() |
Daniel Kaplan · Testcafe:对文本区域长度的期望 6 年前 |
![]() |
Luca S. · 在生产页面上自动测试本地javascript库 6 年前 |