我想到了关于测试结构的两种方法:
第一个选项
第二个选项:
第三种选择?
我喜欢第一个,因为我们对每个测试进行了很好的划分,但在第二个测试中我们将每个测试都用于所有测试。它有什么优势吗?有更好的组织测试方法吗? (c ++,gtest和mocks无处不在)
答案 0 :(得分:1)
我更喜欢第二种选择。从测试覆盖的角度来看,最好能够看到涵盖特定功能的所有测试。从开发的角度来看,我还希望将所有测试结合在一起,以便快速评估我们需要添加的内容。从回归测试的角度来看,仅针对已更新的功能轻松启动测试。
答案 1 :(得分:1)
我会选择第一个选项。虽然它拆分了相同功能的测试,但它可以让您更轻松地从IDE运行所有单元测试 - 您只需选择所有单元测试的顶级文件夹或特定功能的单元测试,然后运行所有单元测试。然后你可以用一个快捷方式重新启动它们。重新启动单元测试是编程过程中最重要和最常见的事情之一。为什么它在集成测试中没有那么好用呢?因为它们速度较慢,而且通常需要额外的设置
所以虽然第二种选择更干净和正统,但第一种选择更简单实用
如果你有太多的功能x'文件夹/文件然后你总是可以引入另一个级别,如