2012-03-20 116 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); 
    } 
}