fac*_*_14 10 integration-testing unit-testing package-structuring
我只是想知道是否有人只是将集成测试视为一个特殊的单元测试.但是,我从其他程序员那里听说,将单元测试和集成测试分开是一个好主意.我想知道是否有人可以解释为什么这是一个好主意.将集成和单元测试视为完全不同,有哪些优势?例如,我已经看到了用于集成测试和单元测试的单独文件夹和包.我认为包含单元测试和集成测试的单个测试包就足够了,因为它们基本上是相同的概念.
由于以下原因,我认为它们不同.
单元测试有意保持"轻量级",以便开发人员可以根据需要以最低成本运行它们.
速度是主要原因.您希望您的单元测试尽可能快,以便您可以尽可能频繁地运行它们.您仍然应该运行集成测试,但在签入之前运行它们应该足够IMO.单元测试套件应该更频繁地运行 - 理想情况下每次重构都要运行.
我在一个环境中工作,我们有大约15k junit测试,单元和集成测试完全混合.全套房需要半小时才能运行.开发人员避免运行它并在以后发现错误.有时他们只运行一部分测试后检入并包含一个破坏连续构建的错误.
尽早开始分离您的测试.一旦你拥有一个大套房,这很难.