通过持续集成,在下一次循环开始时首先重新运行失败的单元测试是很有意义的。这缩短了反馈回路。
有没有已知的方法可以用 CCNet 和 NUnit 实现这一目标?
原则上,CCNet 必须“记忆”哪些单元测试失败,并且需要指示 NUnit 以不同的顺序运行它们。
通过持续集成,在下一次循环开始时首先重新运行失败的单元测试是很有意义的。这缩短了反馈回路。
有没有已知的方法可以用 CCNet 和 NUnit 实现这一目标?
原则上,CCNet 必须“记忆”哪些单元测试失败,并且需要指示 NUnit 以不同的顺序运行它们。
这将违反(单元)测试的原则,即测试的顺序必须完全随机(以确保各个测试之间没有任何依赖关系)。
所以答案是:没有。
顺便说一句:这如何有意义并缩短反馈周期?
托马斯
一个选项是使用参数运行 nunit 命令行。检查参数 /run 例如:
/run=UnitTests.TestMainProgram.Test_Sum_NegativeValues_ResultCorrect
您可以指定要以良好粒度运行的内容,从整个命名空间到函数。如果您的测试以这样一种方式组织,即“最常见的违规者”按命名空间或类进行分组,您就可以实现它。您会发现的问题是如何在每次添加新命名空间时不必维护构建配置的情况下执行它们中的“其余部分”。根据您的课程设置,它是否可行。
如果你非常需要这个另一个选项可以是在不同的程序集中组织你的测试。