• <menu id="w2i4a"></menu>
  • logo Visual Studio系列教程

    文檔首頁(yè)>>Visual Studio系列教程>>Visual Studio 使用教程:為托管代碼創(chuàng)建和運(yùn)行單元測(cè)試(上)

    Visual Studio 使用教程:為托管代碼創(chuàng)建和運(yùn)行單元測(cè)試(上)


    Visual Studio 是功能完備的 IDE,可用于編碼、調(diào)試、測(cè)試和部署到任何平臺(tái),Visual Studio使用 .NET 開(kāi)發(fā) iOS、Android 和 Web 應(yīng)用和游戲。

    點(diǎn)擊下載Visual Studio正式版

    本文將逐步指導(dǎo)您使用用于托管代碼的Microsoft單元測(cè)試框架和Visual Studio Test Explorer創(chuàng)建,運(yùn)行和自定義一系列單元測(cè)試。您從正在開(kāi)發(fā)的C#項(xiàng)目開(kāi)始,創(chuàng)建執(zhí)行其代碼的測(cè)試,運(yùn)行測(cè)試并檢查結(jié)果。然后,您更改項(xiàng)目代碼并重新運(yùn)行測(cè)試。

    創(chuàng)建一個(gè)項(xiàng)目進(jìn)行測(cè)試

    • 打開(kāi)Visual Studio。在開(kāi)始窗口中,選擇創(chuàng)建一個(gè)新項(xiàng)目。
    • 搜索并選擇C#Console App(.NET Core)項(xiàng)目模板,然后單擊“ 下一步”。
    • 將項(xiàng)目命名為Bank,然后單擊創(chuàng)建。
    • 該銀行創(chuàng)建項(xiàng)目并顯示在解決方案資源管理器與Program.cs中的代碼編輯器中打開(kāi)文件。

    注意:如果Program.cs中是不是在編輯器中打開(kāi),雙擊該文件的Program.cs在解決方案資源管理器中打開(kāi)它。

    • 用以下定義類BankAccount的 C#代碼替換Program.cs的內(nèi)容:

    using System;
    
    namespace BankAccountNS
    {
        ////// Bank account demo class.
        ///public class BankAccount
        {
            private readonly string m_customerName;
            private double m_balance;
    
            private BankAccount() { }
    
            public BankAccount(string customerName, double balance)
            {
                m_customerName = customerName;
                m_balance = balance;
            }
    
            public string CustomerName
            {
                get { return m_customerName; }
            }
    
            public double Balance
            {
                get { return m_balance; }
            }
    
            public void Debit(double amount)
            {
                if (amount > m_balance)
                {
                    throw new ArgumentOutOfRangeException("amount");
                }
    
                if (amount < 0) { throw new ArgumentOutOfRangeException("amount"); } m_balance += amount; // intentionally incorrect code } public void Credit(double amount) { if (amount < 0) { throw new ArgumentOutOfRangeException("amount"); } m_balance += amount; } public static void Main() { BankAccount ba = new BankAccount("Mr. Bryan Walton", 11.99); ba.Credit(5.77); ba.Debit(11.22); Console.WriteLine("Current balance is ${0}", ba.Balance); } } }
    • 右鍵單擊并在“ 解決方案資源管理器”中選擇“重命名”,將文件重命名為BankAccount.cs。
    • 在“生成”菜單上,單擊“生成解決方案”。
    • 您現(xiàn)在有了一個(gè)可以測(cè)試的項(xiàng)目。在本文中,測(cè)試重點(diǎn)在于該Debit方法。Debit從帳戶中提取資金時(shí)將調(diào)用該方法。

    創(chuàng)建一個(gè)單元測(cè)試項(xiàng)目

    • 在文件菜單上,選擇添加 > 新建項(xiàng)目。

    提示:您也可以在解決方案資源管理器中右鍵單擊解決方案,然后選擇添加 > 新建項(xiàng)目。

    • 搜索并選擇C#MSTest測(cè)試項(xiàng)目(.NET Core)項(xiàng)目模板,然后單擊“ 下一步”。
    • 將項(xiàng)目命名為BankTests。點(diǎn)擊創(chuàng)建。
    • 該BankTests項(xiàng)目被添加到該銀行的解決方案。
    • 在BankTests項(xiàng)目中,添加對(duì)Bank項(xiàng)目的引用。
    • 在解決方案資源管理器中,選擇依賴下BankTests項(xiàng)目,然后選擇添加引用從右鍵菜單。
    • 在“引用管理器”對(duì)話框中,展開(kāi)“項(xiàng)目”,選擇“解決方案”,然后檢查“銀行”項(xiàng)。
    • 選擇確定。

    創(chuàng)建測(cè)試類

    創(chuàng)建一個(gè)測(cè)試類以驗(yàn)證BankAccount該類。您可以使用由項(xiàng)目模板生成的UnitTest1.cs文件,但為文件和類指定更多描述性名稱。

    重命名文件和類

    • 要重命名文件,請(qǐng)?jiān)诮鉀Q方案資源管理器中,選擇BankTests項(xiàng)目中的UnitTest1.cs文件。從右鍵單擊菜單中,選擇重命名,然后將文件重命名為BankAccountTests.cs。
    • 要重命名該類,請(qǐng)將光標(biāo)放在UnitTest1代碼編輯器中,右鍵單擊,然后選擇“ 重命名”。鍵入BankAccountTests,然后按Enter鍵。

    現(xiàn)在,BankAccountTests.cs文件包含以下代碼:

    using Microsoft.VisualStudio.TestTools.UnitTesting;
    
    namespace BankTests
    {
        [TestClass]
        public class BankAccountTests
        {
            [TestMethod]
            public void TestMethod1()
            {
            }
        }
    }

    添加using語(yǔ)句

    在測(cè)試類中添加一條using語(yǔ)句,以能夠在不使用完全限定名稱的情況下調(diào)用被測(cè)項(xiàng)目。在類文件的頂部,添加:

    using BankAccountNS;

    測(cè)試等級(jí)要求

    測(cè)試課程的最低要求是:

    • [TestClass]在包含要在“測(cè)試資源管理器”中運(yùn)行的單元測(cè)試方法的任何類上,此屬性都是必需的。
    • 您希望測(cè)試資源管理器識(shí)別的每個(gè)測(cè)試方法都必須具有該[TestMethod]屬性。
    元測(cè)試項(xiàng)目中可以具有其他不具有該[TestClass]屬性的類,并且測(cè)試類中可以具有不具有該屬性的其他方法[TestMethod]。您可以從測(cè)試方法中調(diào)用這些其他類和方法。

    創(chuàng)建第一個(gè)測(cè)試方法

    在此過(guò)程中,您將編寫(xiě)單元測(cè)試方法以驗(yàn)證類Debit方法的行為BankAccount。

    至少需要檢查三種行為:

    • 如果借方金額大于余額,則此方法將引發(fā)ArgumentOutOfRangeException。
    • 如果借方金額小于零,則該方法將引發(fā)ArgumentOutOfRangeException。
    • 如果借方金額有效,則該方法從帳戶余額中減去借方金額。

    提示:您可以刪除默認(rèn)TestMethod1方法,因?yàn)樵诒狙菥氈胁粫?huì)使用它。

    創(chuàng)建測(cè)試方法

    第一個(gè)測(cè)試驗(yàn)證有效金額(即小于帳戶余額且大于零的金額)從帳戶中提取了正確的金額。將以下方法添加到BankAccountTests該類:

    [TestMethod]
    public void Debit_WithValidAmount_UpdatesBalance()
    {
        // Arrange
        double beginningBalance = 11.99;
        double debitAmount = 4.55;
        double expected = 7.44;
        BankAccount account = new BankAccount("Mr. Bryan Walton", beginningBalance);
    
        // Act
        account.Debit(debitAmount);
    
        // Assert
        double actual = account.Balance;
        Assert.AreEqual(expected, actual, 0.001, "Account not debited correctly");
    }
    該方法很簡(jiǎn)單:它BankAccount以期初余額設(shè)置新對(duì)象,然后提取有效金額。它使用AreEqual方法來(lái)驗(yàn)證期末余額是否符合預(yù)期。

    測(cè)試方法要求

    測(cè)試方法必須滿足以下要求:

    • 它用[TestMethod]屬性裝飾。
    • 它返回void。
    • 它不能有參數(shù)。

    本文內(nèi)容篇幅較長(zhǎng),分為上下兩篇,點(diǎn)擊可以查看下篇>>,敬請(qǐng)期待~

    喜歡該產(chǎn)品的朋友可以點(diǎn)擊下載Visual Studio試用版免費(fèi)體驗(yàn)~


    想要購(gòu)買Visual Studio正版授權(quán),或了解更多產(chǎn)品信息請(qǐng)點(diǎn)擊【咨詢?cè)诰€客服】

    慧聚IT

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();