我如何测试/重构我的测试?

agi*_*liq 9 python language-agnostic testing unit-testing

我的应用程序有一套测试服.随着测试服有机地增长,测试有很多重复的代码可以重构.

但是,我想确保测试套件不会随着重构而改变.如何测试我的测试对重构是不变的.

(我使用的是Python + UnitTest),但我想这个答案可能与语言无关.

Don*_*oby 5

测试的真正测试是生产代码.

检查测试代码重构没有破坏您的测试的有效方法是进行Mutation Testing,其中一个被测试代码的副本被改变以引入错误以验证您的测试是否捕获了错误.这是一些测试覆盖工具使用的策略.

我没有使用它(我不是一个真正的python编码器),但这似乎得到了Python Mutant Tester的支持,所以这可能值得一看.


mar*_*er_ 0

我看不出重构测试套件的简单方法,并且根据重构的程度,您显然必须更改测试套件。您的测试套件有多大?

正确的重构需要时间和对细节的关注(以及大量的++ Ctrl!)。每当我重构我的测试时,除了查找和替换之外,我不会尝试找到任何快速的做事方法,因为涉及太多风险。C CtrlV

如果您想保持测试质量,最好手动正确地执行操作,尽管速度很慢。