7. NUnit的框架
使用NUint框架的小要求
1using NUint.Framework;
2[TestFixture]
3public class TestSimple
4{
5 [Test]
6 public void TestMethod()
7 {
8 Assert.AreEqual(2, 4/2);
9 }
10}
1)需要NUint.Framework的命名空間,項(xiàng)目中需要引用NUint.dll;
2)每個(gè)包含測(cè)試的類都必須帶TestFixture屬性標(biāo)記,且這個(gè)類必須是public的。
3)測(cè)試類包含的所有帶Test屬性標(biāo)記的public方法都會(huì)被NUint自動(dòng)執(zhí)行。
8.NUint的分類Categories
用Category的概念提供了標(biāo)記和運(yùn)行一個(gè)個(gè)單獨(dú)的測(cè)試和TestFixture的簡(jiǎn)單方法。
一個(gè)Category是自己定義的一個(gè)名字?砂巡煌臏y(cè)試方法關(guān)聯(lián)到一個(gè)或多個(gè)Category,然后運(yùn)行測(cè)試的時(shí)候選擇自己想要運(yùn)行的Category。
如,實(shí)際中有些測(cè)試只需幾秒能完成,而有些則須長(zhǎng)時(shí)間才能完成,為了避免每次都執(zhí)行長(zhǎng)時(shí)間的測(cè)試,可使用分類來(lái)標(biāo)記它們,然后運(yùn)行測(cè)試指定需要運(yùn)行的Category。
1[Test]
2[Category("Short")]
3public void ShortTest()
4{
5 //do some tests.
6}
7[Test, Category("Long")] //兩種屬性的寫(xiě)法可以
8public void LondTest()
9{
10 //do some tests.
11}
同樣,有時(shí)需要:當(dāng)沒(méi)有明確選擇任何Category時(shí),希望某些Category的測(cè)試能夠被運(yùn)行;而當(dāng)顯示選擇一些Category時(shí),則只有被選擇的Category才會(huì)被執(zhí)行。
則需在Category屬性的Explicit設(shè)置為真。
如:
[Category("Special", Explicit=true)]
在運(yùn)行GUI中沒(méi)有指定任何Category情況下,上述設(shè)置會(huì)使該Category不會(huì)被運(yùn)行測(cè)試。
默認(rèn)情況下,即一個(gè)方法沒(méi)有指定任何Category時(shí),相當(dāng)于沒(méi)有顯示指定Explicit(即Explicit=false),這類方法都會(huì)被執(zhí)行。