除方法可設(shè)置Category,連TestFixture都可以設(shè)置Category,如,對(duì)于一些整個(gè)TestFixture都測(cè)試時(shí)間都很長(zhǎng)的,可將它設(shè)置為[Category"Long")],這樣沒(méi)有必要重復(fù)標(biāo)記每個(gè)測(cè)試方法了。
9.每個(gè)測(cè)試的運(yùn)行都應(yīng)該是互相獨(dú)立的;可在任何時(shí)候,任意順序運(yùn)行每個(gè)單獨(dú)的測(cè)試。
10.NUint中Per-method :Setup與Teardown
[SetUp] //用于測(cè)試環(huán)境的建立
public void MySetup() {
//do something.
}
[TearDown] //清除測(cè)試環(huán)境
public void MyTeardown() {
//do something.
}
在每個(gè)[Test]方法之前,都會(huì)調(diào)用[SetUp]方法;并在每個(gè)[Test]方法完成之后,都會(huì)調(diào)用[TearDown]方法。
11.NUint中的Per-class:TestFixtureSetUp和TestFixtureTearDown
這兩個(gè)方法對(duì)整個(gè)Test Class設(shè)置一些環(huán)境,及所有測(cè)試方法都執(zhí)行完后做一些清理工作。
當(dāng)?shù)谝粋(gè)[Test]方法運(yùn)行前,會(huì)調(diào)用[TestFixtureSetUp]方法,當(dāng)所有[Test]方法都執(zhí)行后,會(huì)調(diào)用[TestFixtureTearDown]方法。
12.測(cè)試預(yù)期的異常
//如測(cè)試是否拋出ArgumentException
[Test, ExpectedException(typeof(ArgumentException))]
public void TestForException()
{
Do.GetSomething(null);
//Shouldn's get to here;
}
若測(cè)試方法預(yù)期地拋出ArgumentException異常,測(cè)試將會(huì)通過(guò);若沒(méi)有拋出異常,則測(cè)試將會(huì)失敗。
一旦異常拋出了,測(cè)試方法中剩余的代碼都不會(huì)被執(zhí)行。
13. 忽略指定的測(cè)試方法
[Test, Ignore("Not run this method")]
public void TestMethod()
{
//do something
}