所以情况如下
:
我们有一些非常老的产品,有十几种解决方案。他们中的许多运行不同的单元测试,一些MSTEST,一些NUnit。测试数据库有很多测试,还有一些测试依赖于数据。换句话说,他们执行代码来检查客户andriy是否有产品A和B的订单。我知道这是错误的,但正如我所说,这个产品是由许多团队在不同的时间开发的。
目前,许多团队正在继续对项目进行更改,这些更改将被处理到不同的分支。构建环境以CI方式建立。所以我们面临着维护这些测试的问题。我们在保持测试运行上花费了太多的时间和精力。因为具有测试数据的数据库非常庞大,我们不能为每个分支单独建立数据库,但是我们可以为每个分支保持清晰的示例数据库(200MB),但在这种情况下,许多测试都将失败。
我已经考虑过了,有一些初步计划,比如
:
1)通过删除数据相关测试,或者(如果可能)重写以插入数据并在测试执行后立即回滚,从而摆脱数据相关测试。
2)在单独的项目中移动所有特定于数据库的测试,即将集成测试与常规单元测试分开。
3)为每个分支创建示例数据库,并分别运行集成测试。
我很高兴听到你在你的项目中解决了类似的情况。您是否分离了集成测试,并且曾经进行过特定于数据的测试?是否建议进行数据相关测试?如有任何建议,我们将不胜感激。