日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何做Teams Bot的测试覆盖

發布時間:2023/12/9 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何做Teams Bot的测试覆盖 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在我昨天的文章中介紹了如果對Teams bot做service level的測試,那到底要寫多少的測試代碼才算夠?如何才算測試到位了?這個時候我們就需要用”測試覆蓋率”來衡量,雖然覆蓋率高并不一定代表著就可以高枕無憂的以為我們軟件質量高了,但是測試覆蓋率是一個代碼質量的很好的信心指數。?

在傳統的ASP.NET下有很多的用來做測試代碼覆蓋率的工具和庫,在Core時代的工具選擇就更加多了,在我的LuckyDraw bot里,我使用了Scott Hanselman推薦的Coverlet。

用法也比較簡單,首先在csproj項目文件中添加此工具。當然也可以在你當前的開發機器里使用dotnet tool install -g <package id>來全局安裝coverlet工具,但是我還是比較喜歡針對項目來安裝。

<Project Sdk="Microsoft.NET.Sdk">...<ItemGroup><PackageReference Include="coverlet.msbuild" Version="2.6.0"><IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets><PrivateAssets>all</PrivateAssets></PackageReference></ItemGroup>... </Project>

然后我又在我的項目根目錄下運行:

dotnet test .\test\LuckyDrawBot.Tests\LuckyDrawBot.Tests.csproj /p:CollectCoverage=true /p:CoverletOutputFormat=lcov /p:CoverletOutput=.\lcov.info

在所有測試用例都執行完后,coverlet就可以顯示出測試覆蓋率了。

可以看到LuckyDraw bot的覆蓋率有95%以上。這里面的三個指標的分別是: Line:代碼行的覆蓋率 Method:函數方法的覆蓋率 Branch:這個概念指執行路徑的覆蓋率,具體的含義可以看這里

另外,如果大家使用VS code的話,我推薦一個插件:Coverage Gutters. https://github.com/ryanluker/vscode-coverage-gutters coverlet搭配這個插件,就可以在VS Code里可視化你的代碼測試覆蓋率,如下圖:

綠色部分代表我的代碼已經被測試覆蓋到,紅色部分(62-64行,68-70行)還沒有覆蓋到,所以我應該在下個版本中增加更多的測試用來來覆蓋。

總結

以上是生活随笔為你收集整理的如何做Teams Bot的测试覆盖的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。