我只是想知道是否有其他人只看到集成测试只是一个特殊的单元测试。不过,我从其他程序员那里听说,分离单元测试和集成测试是一个好主意。我想知道是否有人可以解释为什么这是一个好主意。将整合和单元测试视为完全不同的是什么样的优势?例如,我已经看到了用于集成测试和单元测试的单独文件夹和包。我认为一个包含单元测试和集成测试的测试包就足够了,因为它们基本上都是相同的概念。您是否将单元测试与集成测试分开了?
9
A
回答
7
由于以下原因,我将它们视为不同。
- 单元测试可以在开发人员环境中的单个类/模块上执行。
- 集成测试应在类似于实际生产设置的环境中执行。
单元测试有意保持“轻量级”,以便开发人员能够以最低的成本按需要运行它们。
3
是的。通常,单元测试的范围在类级别,所以它们与模拟对象一起存在于环境中。另一方面,集成测试通过保持对组装类型的引用来完成所有的技巧。
我只是没有看到如何组织单元和集成到单个项目中。
7
速度是主要原因。你希望你的单元测试尽可能快,以便你可以尽可能经常运行它们。您仍然应该运行集成测试,但在签入之前运行它们应该足够IMO。单元测试套件应该更频繁地运行 - 理想情况下是每次重构。
我在一个环境中工作,在这个环境中,我们有大约15k的junit测试,单元测试和集成测试完全混合。全套房需要大约半小时才能运行。开发人员避免运行它,并且比他们应该的时间晚。有时他们在运行只有一部分测试后检查,并且包含破坏连续构建的错误。
开始早期分离您的测试。一旦你有一个大套房很难。
3
如果限制“单元测试”,以在类级别范围的概念,那么,保持然而,他们分开
如果你定义的最小相关可测试单元为功能然后一些你的'单元'测试在技术上将是'集成'测试
对术语的各种定义/解释的重新调整在很大程度上是不相关的,但是,测试套件的划分应该是被测试组件的范围的函数以及执行测试所需的时间。例如,如果所有测试(单元,集成,回归或其他)都适用于单个程序集并在几秒钟内运行,那么将它们放在一起。但是如果某些测试需要在子网上使用六台干净的安装机器,而其他测试则不需要,将第一组测试与后一组测试分开是有意义的。
摘要:“单元”和“集成”测试的区别在于无关紧要的;基于操作范围的包测试套件
相关问题
- 1. 如何将单元测试与集成测试分开?
- 2. 集成测试与单元测试
- 3. 集成与单元测试
- 4. 如何在Visual Studio中将单元测试与集成测试分开?
- 5. 您是否更关注单元,集成或验收测试?
- 6. ASP.NET MVC路由测试是否考虑过单元测试或集成测试?
- 7. 我是单元测试还是集成测试?
- 8. 与CruiseControl.NET集成的JavaScript单元测试
- 9. 单元测试与集成测试及其维护
- 10. 单元测试与Spring的集成测试
- 11. Android单元测试测试是否在onCreate()中调用了setContentView()
- 12. 我应该写集成测试还是单元测试?
- 13. 如何将monkeyrunner集成测试与emma覆盖测试集成?
- 14. 任何方式来分离单元测试与VS2008集成测试?
- 15. 单元测试(是或否)
- 16. 使用集成测试练习BDD - 我是否也需要单元测试?
- 17. Maven - 单元测试中的单独集成测试
- 18. 单元测试建议 - 如何单元测试您的.asmx
- 19. 积分测试代替单元测试
- 20. 测试模块与测试::单元
- 21. iOS的单元测试与UI测试
- 22. Jest快照测试与单元测试?
- 23. 单元测试和集成测试示例
- 24. Django测试:独立的单元和集成测试Travis CI
- 25. 集成测试和单元测试(WEB API mvc 4)
- 26. 使用Specflow场景进行集成测试和单元测试
- 27. 如何重新使用集成测试的单元测试
- 28. 单元测试,集成测试或设计问题?
- 29. 比较两个DataTable(单元测试,集成测试,C#,TestMethod)
- 30. Maven不同单元如何测试集成测试?
同意。混合单元和集成测试是一个真正的痛苦。 – 2009-11-24 08:51:10