亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > Nunit
一步一步學NUnit(二)
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2014/1/8 16:21:09 ] 推薦標簽:NUnit 單元測試 測試工具

  這里也許有人會問,如果我的項目很大,每個測試方法都需要連接數(shù)據(jù)庫,在每個方法執(zhí)行的時候進行連接再釋放,這樣是不是太耗資源太慢了,能不能在一個單元測試類實例化的時候運行一個指定的方法呢?

  這是可以的。在NUnit中,我們使用[TestFixtureSetUp]和[TestFixtureTearDown]可以實現(xiàn)這樣的功能。[TestFixtureSetUp]是指在這個測試類的整個生命周期中,它在所有的測試方法之前運行一次,而[TestFixtureTearDown]是在所有的測試方法都結(jié)束時運行。

  這里要注意的,[TestFixtureSetUp]與構(gòu)造函數(shù)是不一樣的,它標識的方法遲于構(gòu)造函數(shù)運行。我們再對這個測試類進行重構(gòu):

[TestFixture]
public class CalculatorTest
...{
    private Calculator cal;
    private int a, b, expected, actual;

    public CalculatorTest()
    ...{
        Console.WriteLine("執(zhí)行構(gòu)造函數(shù)");
    }

    [TestFixtureSetUp]
    public void InitClass()
    ...{
        Console.WriteLine("執(zhí)行TestFixtureSetUp");
        cal = new Calculator();
        a = 10;
        b = 2;
    }
    [TestFixtureTearDown]
    public void FinalizeClass()
    ...{
        Console.WriteLine("執(zhí)行TestFixtureTearDown");
    }

    [SetUp]
    public void InitMethod()
    ...{
        Console.WriteLine("執(zhí)行SetUp");
    }

    [TearDown]
    public void FinalizeMethod()
    ...{
        Console.WriteLine("執(zhí)行TearDown");
        a = 10;
        b = 2;
    }

    [Test]
    public void TestAdd()
    ...{
        Console.WriteLine("TestAdd() Begin");
        expected = 12;
        actual = cal.Add(a, b);
        Assert.AreEqual(expected, actual);
        Console.WriteLine("TestAdd() End");
    }
    [Test]
    public void TestMinus()
    ...{
        Console.WriteLine("TestMinus() Begin");
        expected = 8;
        actual = cal.Minus(a, b);
        Assert.AreEqual(expected, actual);
        Console.WriteLine("TestMinus() End");
    }
    [Test]
    public void TestMultiply()
    ...{
        Console.WriteLine("TestMultiply() Begin");
        expected = 20;
        actual = cal.Multiply(a, b);
        Assert.AreEqual(expected, actual);
        Console.WriteLine("TestMultiply() End");
    }
    [Test]
    public void TestDivide()
    ...{
        Console.WriteLine("TestDivide() Begin");
        expected = 5;
        actual = cal.Divide(a, b);
        Assert.AreEqual(expected, actual);
        Console.WriteLine("TestDivide() End");
    }
}

  在NUnit中,我們可以很清楚地看到這個類的執(zhí)行順序:

  假如我們的測試項目中有使用到數(shù)據(jù)庫,可以把數(shù)據(jù)庫連接寫在[TestFixtureSetUp]中,把釋放的代碼寫在[TestFixtureTearDown]中。

  我相信現(xiàn)在大家對NUnit的這4個屬性都應(yīng)該有一個直觀的認識了吧。都是4個很簡單的屬性,但是在使用中用處卻是非常大的。

上一頁12345下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 日韩一级在线视频 | 国产伦精品一区二区三区免费 | 亚洲第6页 | 免费国产成人高清视频网站 | 日本精品视频一区二区三区 | 亚洲天堂网在线观看 | 天天摸天天操天天爽 | 成年片人免费www | 精品国偷自产在线不卡短视频 | 六度国产福利午夜视频黄瓜视频 | 免费a大片 | 欧美福利影院 | 久久97精品久久久久久久不卡 | 成人短视频在线观看视频 | 极品美女一级毛片 | 羞羞视频网页版 | 国产日产精品_国产精品毛片 | 国产三级网站 | 欧美高清在线精品一区二区不卡 | 簧片在线 | 亚洲欧美日韩中文v在线 | 手机看片国产精品 | 永久免费视频网站在线观看 | 热久久视久久精品18国产 | 亚洲五月激情网 | 成人免费在线视频 | 亚洲乱人伦在线 | 黄色在线观看视频免费 | 天天插伊人 | 嘿嘿视频在线观看 成人 | 毛片在线视频观看 | 一级做a爰全过程免费视频毛片 | 九九这里只精品视在线99 | 亚洲一区中文字幕在线观看 | 欧美综合成人网 | 色视视频| 欧洲在线免费视频 | 亚洲三级大片 | 日本精品夜色视频一区二区 | 91短视频在线高清hd | 成人激情黄色 |