官术网_书友最值得收藏!

3.2 創(chuàng)建單元測(cè)試

在列舉一個(gè)單元測(cè)試的真實(shí)案例之前,我們需要關(guān)注一下如何創(chuàng)建單元測(cè)試的工程項(xiàng)目。我們將使用Visual Studio內(nèi)置的單元測(cè)試工程,因?yàn)樗且粋€(gè)已經(jīng)被很好地集成到IDE中的可靠產(chǎn)品。

注意

在這里我們使用的是Microsoft單元測(cè)試框架,但是還有很多好的框架也是可用的。這里闡述的理念同樣適用于其他框架。

Microsoft單元測(cè)試框架中有一個(gè)支持單元測(cè)試的特殊項(xiàng)目類型,所以我們必須要做的第一件事是為當(dāng)前的解決方案增加一個(gè)新項(xiàng)目。右鍵單擊solution Explorer(解決方案資源管理器)下的solution(解決方案)鍵然后選擇Add(添加)→New Project(新項(xiàng)目)。選擇一種測(cè)試項(xiàng)目類型,并指定一個(gè)合適的名稱,然后單擊OK鍵。我們會(huì)為solution中的每個(gè)標(biāo)準(zhǔn)項(xiàng)目創(chuàng)建一個(gè)獨(dú)立的測(cè)試項(xiàng)目。因此,如圖3.1所示,我們用標(biāo)準(zhǔn)項(xiàng)目的名字末尾加UnitTests字樣來命名測(cè)試項(xiàng)目。

這樣,我們就為已有的測(cè)試樣例創(chuàng)建了一個(gè)新的測(cè)試項(xiàng)目,并且添加了必要的引用。測(cè)試樣例類中的一些示例代碼,對(duì)于目前來說,并不是必須的,所以為了簡單起見,你可以參考測(cè)試樣例來修改你的測(cè)試。對(duì)于你的第一個(gè)單元測(cè)試來說,這就是你目前需要的全部。它僅確保True==True。

代碼清單3.2 第一個(gè)簡單測(cè)試


using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace CodeSamples.Ch03_UnitTesting.Listing2
{
  [TestClass]
  public class ExampleUnitTest
  {
    [TestMethod]
    public void ExampleTest()
    {
      Assert.IsTrue(true);
    }
  }
}

圖3.1 添加一個(gè)新的測(cè)試項(xiàng)目

為了運(yùn)行該測(cè)試,右鍵單擊類名并選擇Run Tests(運(yùn)行測(cè)試),如圖3.2所示。

運(yùn)行完測(cè)試后,圖3.3所示的窗口表明測(cè)試正常通過。

為了能夠看到測(cè)試失敗時(shí)將會(huì)發(fā)生什么,你可以修改代碼,故意使測(cè)試失敗(如代碼清單3.3所示)。

代碼清單3.3 一個(gè)失敗的測(cè)試


using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace CodeSamples.Ch03_UnitTesting.Listing3
{
  [TestClass]
  public class ExampleFailingUnitTest
  {
    [TestMethod]
    public void ExampleTest()
    {
      Assert.IsTrue(false);
    }
  }
}

圖3.2 在IDE內(nèi)運(yùn)行測(cè)試

圖3.3 測(cè)試結(jié)果屏幕

可以看到類似圖3.4所示的出錯(cuò)信息。

我們已經(jīng)知道了如何創(chuàng)建單元測(cè)試文件,現(xiàn)在回到關(guān)于測(cè)試的話題上。

圖3.4 失敗測(cè)試

主站蜘蛛池模板: 托克逊县| 阜新市| 张家界市| 巩义市| 东莞市| 安溪县| 阿克苏市| 屯留县| 子洲县| 新野县| 巴林左旗| 灯塔市| 沁阳市| 呼伦贝尔市| 揭西县| 温州市| 紫金县| 香港 | 札达县| 板桥市| 青岛市| 福贡县| 虹口区| 兴化市| 深泽县| 九台市| 上虞市| 会昌县| 诏安县| 鹤岗市| 科尔| 民乐县| 安阳县| 滨州市| 安国市| 垦利县| 乌海市| 吉木萨尔县| 祁连县| 肥西县| 城固县|