Visual Studio 使用教程:使用IntelliTest生成單元測試
Visual Studio 是功能完備的 IDE,可用于編碼、調(diào)試、測試和部署到任何平臺,Visual Studio使用 .NET 開發(fā) iOS、Android 和 Web 應(yīng)用和游戲。
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”以為方法中的代碼生成單元測試。
IntelliTest使用不同的輸入多次運(yùn)行您的代碼。 表格中顯示了每次運(yùn)行,并顯示了輸入測試數(shù)據(jù)以及結(jié)果輸出或異常。
要為類中的所有公共方法生成單元測試,只需右鍵單擊類而不是特定方法,然后選擇“運(yùn)行IntelliTest”。使用“探索結(jié)果”窗口中的下拉列表顯示類中每種方法的單元測試和輸入數(shù)據(jù)。
對于通過的測試,請檢查結(jié)果列中報(bào)告的結(jié)果是否符合您對代碼的期望。對于失敗的測試,請適當(dāng)?shù)匦迯?fù)您的代碼。然后重新運(yùn)行IntelliTest以驗(yàn)證修復(fù)程序。
將單元測試另存為回歸套件
選擇要與參數(shù)化單元測試一起保存到測試項(xiàng)目中的數(shù)據(jù)行
您可以查看測試項(xiàng)目和已創(chuàng)建的參數(shù)化單元測試-與每個(gè)行相對應(yīng)的單個(gè)單元測試將保存在測試項(xiàng)目的.g.cs文件中,而參數(shù)化單元測試將保存在其相應(yīng)的.cs文件。 您可以運(yùn)行單元測試并從“測試資源管理器”中查看結(jié)果,就像手動(dòng)創(chuàng)建的任何單元測試一樣。
任何必要的參考也將添加到測試項(xiàng)目中。
如果方法代碼更改,請重新運(yùn)行IntelliTest以使單元測試與更改保持同步。
使用IntelliTest專注于代碼探索
如果您有更復(fù)雜的代碼,則IntelliTest可以幫助您重點(diǎn)研究代碼。例如,如果您有一個(gè)以接口為參數(shù)的方法,并且有多個(gè)實(shí)現(xiàn)該接口的類,則IntelliTest會發(fā)現(xiàn)這些類并報(bào)告警告。
查看警告以確定您要做什么。
調(diào)查代碼并了解要測試的內(nèi)容之后,可以修復(fù)警告以選擇用于測試接口的類。
此選擇將添加到PexAssemblyInfo.cs文件中。
[assembly: PexUseType(typeof(Camera))]
現(xiàn)在,您只需使用固定的類即可重新運(yùn)行IntelliTest來生成參數(shù)化的單元測試和測試數(shù)據(jù)。
本文內(nèi)容到這里就結(jié)束了,本系列教程持續(xù)更新了,敬請期待~喜歡該產(chǎn)品的朋友可以點(diǎn)擊下載Visual Studio試用版免費(fèi)體驗(yàn)~
想要購買Visual Studio正版授權(quán),或了解更多產(chǎn)品信息請點(diǎn)擊【咨詢在線客服】