我正在与teamcity合作,并将一些旧的集成测试移到它上面。这些旧的集成测试只是将结果记录为控制台应用程序。我只想记录结果,但是teamcity对NUnit有很好的支持,并希望利用它。
让我们说这是我的旧测试之一
public void Test ()
{
int tries = 10;
int fails = Check(tries);
Console.WriteLine("{0} fails out of {1} attempts", fails, tries); // log results
}
public int Check (int tries)
{
int fails = 0;
for (int i = 0; i < tries; i++)
{
if (i % 2 == 1) fails++;
}
return fails;
}
我不知道如何使用NUnit或者甚至可能。我希望Check
的每次调用都是它自己的测试。不,阻止10个测试调用Check (n)
n = 0,... n = 9不是我想要的。
提前致谢。
答案 0 :(得分:2)
您可以使用NUnit的data-driven tests。
[TestCase(10, Result = 5)]
public int Check (int tries)
{
int fails = 0;
for (int i = 0; i < tries; i++)
{
if (i % 2 == 1) fails++;
}
return fails;
}
答案 1 :(得分:0)
我最终选择了范围属性
[Test]
public int Check ([Range(0,100,1)] int tries)
{
for (int i = 0; i < tries; i++)
{
if (i % 2 == 1) Assert.Fail("failed on :" + i);
}
}