我有一个测试夹具,其中包含多个测试。我想多次运行此测试夹具以收集一些统计信息,但似乎找不到合理的方法。RepeatAttribute 不能在 TestFixture 上使用。
我可以使用 Nunit 或 Jenkins(带有 nunit 插件)。有什么想法吗?否则,我将编写测试或使用奇怪的批处理脚本。
我有一个测试夹具,其中包含多个测试。我想多次运行此测试夹具以收集一些统计信息,但似乎找不到合理的方法。RepeatAttribute 不能在 TestFixture 上使用。
我可以使用 Nunit 或 Jenkins(带有 nunit 插件)。有什么想法吗?否则,我将编写测试或使用奇怪的批处理脚本。
正如Steve所说,参数化的fixture可以起作用,但如果你想运行数百次测试,复制和粘贴那么多属性会变得相当乏味。
NUnit中更好的选择是在fixture上使用TestFixtureSource属性。例如,以下代码将运行您的测试fixture 100次;
[TestFixtureSource("TestData")]
public class MultipleRunFixture
{
int _counter;
public MultipleRunFixture(int counter)
{
_counter = counter;
}
public static IEnumerable<int> TestData =>
Enumerable.Range(0, 100);
[Test]
public void TestMethod()
{
// TODO: Add your test code here
Assert.Pass($"Test run {_counter}");
}
}
[TestFixture(4)]
[TestFixture(3)]
[TestFixture(2)]
[TestFixture(1)]
public class MyTestFixture
{
public MyTestFixture(int counter)
{
}