則需在Category屬性的Explicit設置為真。
如:
[Category("Special", Explicit=true)]在運行GUI中沒有指定任何Category情況下,上述設置會使該Category不會被運行測試。
默認情況下,即一個方法沒有指定任何Category時,相當于沒有顯示指定Explicit(即Explicit=false),這類方法都會被執行。
除方法可設置Category,連TestFixture都可以設置Category,如,對于一些整個TestFixture都測試時間都很長的,就可將它設置為[Category"Long")],這樣就沒有必要重復標記每個測試方法了。
9.每個測試的運行都應該是互相獨立的;可在任何時候,任意順序運行每個單獨的測試。
10.NUint中Per-method :Setup與Teardown
[SetUp] //用于測試環境的建立
public void MySetup() {
//do something.
}
[TearDown] //清除測試環境
public void MyTeardown() {
//do something.
}在每個[Test]方法之前,都會調用[SetUp]方法;并在每個[Test]方法完成之后,都會調用[TearDown]方法。
11.NUint中的Per-class:TestFixtureSetUp和TestFixtureTearDown
這兩個方法對整個Test Class設置一些環境,及所有測試方法都執行完后做一些清理工作。
當第一個[Test]方法運行前,會調用[TestFixtureSetUp]方法,當所有[Test]方法都執行后,會調用[TestFixtureTearDown]方法
。[NextPage]
12.測試預期的異常
//如測試是否拋出ArgumentException
[Test, ExpectedException(typeof(ArgumentException))]
public void TestForException()
{
Do.GetSomething(null);
//Shouldn's get to here;
}
若測試方法預期地拋出ArgumentException異常,測試將會通過;若沒有拋出異常,則測試將會失敗。
一旦異常拋出了,測試方法中剩余的代碼都不會被執行。軟件測試
13. 忽略指定的測試方法
[Test, Ignore("Not run this method")]
public void TestMethod()
{
//do something
}
文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/