2012-03-20 90 views
0

我正在与teamcity合作,并将一些旧的集成测试移交给它。这些旧的集成测试仅将结果记录为控制台应用程序。我会留下来记录结果,但是,teamcity对NUnit有很好的支持,并希望利用它。NUnit .NET创建测试

可以说,这是我以前的测试

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

您可以使用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; 
} 
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); 
    } 
}