我正在开发一个具有可靠单元测试覆盖率的 PHP 项目。
我注意到,上次,我使用 unit-tests Command-Line Test Runner' --filter命令进行了非常棘手的操作。
以下是官方文档中对该命令的解释:
- 筛选
仅运行名称与给定模式匹配的测试。模式可以是单个测试的名称,也可以是匹配多个测试名称的正则表达式。
我经常使用它,因为有时只运行整个测试库中的单个测试套件或测试用例会变得非常有用。
我想知道这是否是好习惯?
我听说有时在您的持续集成机器上运行整个测试套件是一种很好的做法,如果您确定自己只修改了一个组件并且100% 有信心,它不会使其他组件的单元失败-测试。你怎么看待这件事?
前段时间我认为我们不应该太关心运行所有单元测试的整个套件所需的时间,但是当您有非常复杂的业务逻辑和单元测试时 - 这可能会花费大量时间。
我明白,“真正的”单元测试不应该与数据库交互,使用模拟/存根对象,我同意这一点。但有时,使用 DB 固定装置进行测试更容易(更便宜)。
请给我一些建议,如何解决这个问题?