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

    文檔首頁>>Visual Studio系列教程>>Visual Studio 使用教程:使用IntelliTest生成單元測試

    Visual Studio 使用教程:使用IntelliTest生成單元測試


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

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

    IntelliTest探索您的.NET代碼以生成測試數(shù)據(jù)和一組單元測試。對于代碼中的每個(gè)語句,都會生成一個(gè)將執(zhí)行該語句的測試輸入。對代碼中的每個(gè)條件分支都進(jìn)行案例分析。例如,分析了if語句,斷言以及所有可能引發(fā)異常的操作。此分析用于為每種方法為參數(shù)化的單元測試生成測試數(shù)據(jù),從而創(chuàng)建具有較高代碼覆蓋率的單元測試。 

    運(yùn)行IntelliTest時(shí),您可以輕松查看哪些測試失敗,并添加任何必要的代碼來修復(fù)它們。 您可以選擇將哪些生成的測試保存到測試項(xiàng)目中以提供回歸套件。在更改代碼時(shí),請重新運(yùn)行IntelliTest以使生成的測試與代碼更改保持同步。

    可用性和擴(kuò)展

    創(chuàng)建IntelliTest和運(yùn)行IntelliTest菜單命令:

    • 僅在Visual Studio企業(yè)版中可用。
    • 僅支持針對.NET Framework的C#代碼。
    • 具有可擴(kuò)展性,并支持以MSTest,MSTest V2,NUnit和xUnit格式進(jìn)行測試。
    • 不支持x64配置。

    探索:使用IntelliTest探索您的代碼并生成單元測試

    要生成單元測試,您的類型必須是公共的。

    在Visual Studio中打開您的解決方案,然后打開包含您要測試的方法的類文件。

    右鍵單擊方法,然后選擇“運(yùn)行IntelliTest”以為方法中的代碼生成單元測試。

    Right-click in your method to generate unit tests

    IntelliTest使用不同的輸入多次運(yùn)行您的代碼。 表格中顯示了每次運(yùn)行,并顯示了輸入測試數(shù)據(jù)以及結(jié)果輸出或異常。

    Exploration Results window is displayed with tests

    要為類中的所有公共方法生成單元測試,只需右鍵單擊類而不是特定方法,然后選擇“運(yùn)行IntelliTest”。使用“探索結(jié)果”窗口中的下拉列表顯示類中每種方法的單元測試和輸入數(shù)據(jù)。

    Select the test results to view from the list

    對于通過的測試,請檢查結(jié)果列中報(bào)告的結(jié)果是否符合您對代碼的期望。對于失敗的測試,請適當(dāng)?shù)匦迯?fù)您的代碼。然后重新運(yùn)行IntelliTest以驗(yàn)證修復(fù)程序。

    將單元測試另存為回歸套件

    選擇要與參數(shù)化單元測試一起保存到測試項(xiàng)目中的數(shù)據(jù)行

    Select tests; right-click and choose Save

    您可以查看測試項(xiàng)目和已創(chuàng)建的參數(shù)化單元測試-與每個(gè)行相對應(yīng)的單個(gè)單元測試將保存在測試項(xiàng)目的.g.cs文件中,而參數(shù)化單元測試將保存在其相應(yīng)的.cs文件。 您可以運(yùn)行單元測試并從“測試資源管理器”中查看結(jié)果,就像手動(dòng)創(chuàng)建的任何單元測試一樣。

    Open class file in test method to view unit test

    任何必要的參考也將添加到測試項(xiàng)目中。

    如果方法代碼更改,請重新運(yùn)行IntelliTest以使單元測試與更改保持同步。

    使用IntelliTest專注于代碼探索

    如果您有更復(fù)雜的代碼,則IntelliTest可以幫助您重點(diǎn)研究代碼。例如,如果您有一個(gè)以接口為參數(shù)的方法,并且有多個(gè)實(shí)現(xiàn)該接口的類,則IntelliTest會發(fā)現(xiàn)這些類并報(bào)告警告。

    查看警告以確定您要做什么。

    View warnings

    調(diào)查代碼并了解要測試的內(nèi)容之后,可以修復(fù)警告以選擇用于測試接口的類。

    Right-click the warning and choose Fix

    此選擇將添加到PexAssemblyInfo.cs文件中。

    [assembly: PexUseType(typeof(Camera))]

    現(xiàn)在,您只需使用固定的類即可重新運(yùn)行IntelliTest來生成參數(shù)化的單元測試和測試數(shù)據(jù)。

    Rerun IntelliTest to generate the test data

    本文內(nèi)容到這里就結(jié)束了,本系列教程持續(xù)更新了,敬請期待~喜歡該產(chǎn)品的朋友可以點(diǎn)擊下載Visual Studio試用版免費(fèi)體驗(yàn)~


    想要購買Visual Studio正版授權(quán),或了解更多產(chǎn)品信息請點(diǎn)擊【咨詢在線客服】

    慧聚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); })();