NUnit .NET创建测试

时间:2012-03-20 00:01:46

标签: c# .net nunit

我正在与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不是我想要的。

提前致谢。

2 个答案:

答案 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);
   }
}