• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    使用 Visual Studio 2017 測試 .NET Core 類庫

    本篇經驗將和大師介紹利用 Visual Studio 2017 測試 .NET Core 類庫的方式,但愿對大師的工作和進修有所幫忙!

    建立單位測試項目

    1. 1

      在“解決方案資本辦理器”中,打開“ClassLibraryProjects”解決方案節點的上下文菜單,再依次選擇“添加” > “新項目”。

    2. 2

      在“添加新項目”對話框中,選擇“Visual C#”節點。 

      然后,依次選擇“.NET Core”節點和“單位測試項目(.NET Core)”項目模板。 

      在“名稱”文本框中,輸入項目名稱“StringLibraryTest”。 

      選擇“確定”,建立單位測試項目,如下圖所示:

    3. 3

      此時,Visual Studio 會建立項目,并在代碼窗口中打開 UnitTest1.cs 文件,如下圖所示:

      單位測試模板建立的源代碼負責執行以下操作:

      導入 Microsoft.VisualStudio.TestTools.UnitTesting 定名空間,此中包含用于單位測試的類型。

      標的目的 UnitTest1 類應用 [TestClass] 特征。 測試類中標識表記標幟有 [TestMethod] 屬性的所有測試方式城市在單位測試運行時主動執行。

      它應用 [TestMethod] 屬性,將 TestMethod1 界說為在單位測試運行時主動執行的測試方式。

    4. 4

      在“解決方案資本辦理器”中,右鍵單擊“StringLibraryTest”項目標“依靠項”節點,并從上下文菜單中選擇“添加引用”,如下圖所示:

    5. 5

      在“引用辦理器”對話框中,睜開“項目”節點,并選中“StringLibrary”旁邊的框。 

      添加對 StringLibrary 法式集的引用后,編譯器可以查找 StringLibrary 方式。 選擇“確定”按鈕。

       這會添加對類庫項目 StringLibrary 的引用,如下圖所示:

    添加并運行單位測試方式

    1. 1

      建立測試方式,如下代碼所示:

      using System;

      using Microsoft.VisualStudio.TestTools.UnitTesting;

      using UtilityLibraries;

      namespace StringLibraryTest

      {

          [TestClass]

          public class UnitTest1

          {

              [TestMethod]

              public void TestStartsWithUpper()

              {

                  // Tests that we expect to return true.

                  string[] words = { "Alphabet", "Zebra", "ABC", "Αθ?να", "Москва" };

                  foreach (var word in words)

                  {

                      bool result = word.StartsWithUpper();

                      Assert.IsTrue(result,

                             String.Format("Expected for '{0}': true; Actual: {1}",

                                           word, result));

                  }

              }

              [TestMethod]

              public void TestDoesNotStartWithUpper()

              {

                  // Tests that we expect to return false.

                  string[] words = { "alphabet", "zebra", "abc", "αυτοκινητοβιομηχαν?α", "государство",

                                     "1234", ".", ";", " " };

                  foreach (var word in words)

                  {

                      bool result = word.StartsWithUpper();

                      Assert.IsFalse(result,

                             String.Format("Expected for '{0}': false; Actual: {1}",

                                           word, result));

                  }

              }

              [TestMethod]

              public void DirectCallWithNullOrEmpty()

              {

                  // Tests that we expect to return false.

                  string[] words = { string.Empty, null };

                  foreach (var word in words)

                  {

                      bool result = StringLibrary.StartsWithUpper(word);

                      Assert.IsFalse(result,

                             String.Format("Expected for '{0}': false; Actual: {1}",

                                           word == null ? "<null>" : word, result));

                  }

              }

          }

      }

      請注重,TestStartsWithUpper 方式中測試的年夜寫字符包羅希臘文年夜寫字母 alpha (U+0391) 和西里爾文年夜寫字母 EM (U+041C),TestDoesNotStartWithUpper 方式中測試的小寫字符包羅希臘文小寫字母 alpha (U+03B1) 和西里爾文小寫字母 Ghe (U+0433)。

    2. 2

      在菜單欄上,選擇“文件” > “將 UnitTest1.cs 另存為”。 

      在“文件另存為”對話框中,選擇“保留”按鈕旁邊的箭頭,然后選擇“保留時利用編碼”,如下圖所示:

    3. 3

      在“確認另存為”對話框中,選擇“是”按鈕,保留文件。

      在“高級保留選項”對話框的“編碼”下拉列表中,選擇“Unicode (UTF-8 帶簽名) - 代碼頁 65001”,然后選擇“確定”,如下圖所示:

      若是無法將源代碼保留為 UTF8 編碼文件,Visual Studio 可能會將其另存為 ASCII 文件。 在這種環境下,運行時將無法精確解碼 ASCII 規模以外的 UTF8 字符,且測試成果也會禁絕確。

    4. 4

      在菜單欄上,選擇“測試” > “運行” > “所有測試”。 

      此時,“測試資本辦理器”窗口打開并顯示測試已當作功運行。 

      “經由過程的測試”部門列出了三個測試,“摘要”部門陳述了測試運行成果,如下圖所示:

    處置未經由過程的測試

    1. 1

      經由過程點竄 TestDoesNotStartWithUpper 方式中的 words 數組來包含字符串“Error”。 因為 Visual Studio 將在生當作運行測試的解決方案時主動保留打開的文件,是以無需手動保留。

      tring[] words = { "alphabet", "Error", "zebra", "abc", "αυτοκινητοβιομηχαν?α", "государство", "1234", ".", ";", " " };

    2. 2

      從菜單欄中選擇“測試” > “運行” > “所有測試”,運行測試。 “測試資本辦理器”窗口指示有兩個測試當作功,還有一個掉敗,如下圖所示:

    3. 3

      在“未經由過程的測試”部門中,選擇未經由過程的測試 TestDoesNotStartWith。 “

      測試資本辦理器”窗口顯示斷言生當作的動靜:“Assert.IsFalse 掉敗。 

      ‘Error’ 應返回 false; 現實返回 True”。

       因為此次掉敗,數組中“Error”之后的所有字符串都未進行測試,如下圖所示:

    4. 4

      刪除添加的代碼 ("Error",),然后從頭運行測試。 

      測試將經由過程。

    測試庫的刊行版本

    1. 1

      在 Visual Studio 東西欄中,將生當作設置裝備擺設從“調試”更改為“刊行”,如下圖所示:

    2. 2

      “解決方案資本辦理器”中,右鍵單擊“StringLibrary”項目,從上下文菜單中選擇“生當作”,從頭編譯庫,如下圖所示:

    3. 3

      從菜單欄中選擇“測試” > “運行” > “所有測試”,運行單位測試,測試經由過程。

    • 發表于 2018-04-25 00:00
    • 閱讀 ( 794 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆