簡體   English   中英

C#和WPF項目的自動化測試和持續集成

[英]Automated testing and continous integration of C# , WPF project

有沒有辦法對C#,WPF項目進行自動化測試和持續集成? 我考慮過類似Jenkins的事情,但據我所知Jenkins不支持C#項目。 它應該是進行測試驅動開發的工具,並且還可以對GUI進行自動化測試。 也許構建工具表單gitlab是一個選擇?

提前謝謝了!

我們在C#項目中確實使用了Jenkins。 您可以使用MSBuild插件來生成項目,也可以使用“ Windows Batch Command”之類的

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" YourSolution.sln  /tv:4.0 /p:Configuration=Release /p:TreatWarningsAsErrors="true"  /p:CheckForOverflowUnderflow="true" /p:WarningLevel=4 /v:m /t:rebuild

注意:使用此命令行,我將覆蓋項目的特定設置,以用於警告和算術溢出。

也有用於單元測試的插件。 我們使用MSTest。 由於我集成了OpenCover代碼覆蓋率報告生成器,因此必須使用較長的命令行:

"C:\Program Files (x86)\OpenCover\OpenCover.Console.exe" "-target:C:\vs\Common7\IDE\MSTest.exe" "-targetargs:/nologo /testcontainer:Tests\Project1Tests.dll /testcontainer:Tests\Project2Tests.dll /resultsfile:testresult.trx /category:"^!SqlTests^&^!Perfomance"" -output:coverage.xml
"C:\Program Files (x86)\OpenCover\OpenCoverToCoberturaConverter.exe" -input:coverage.xml -output:outputCobertura.xml -sources:%WORKSPACE%
"C:\Program Files (x86)\ReportGenerator\ReportGenerator.exe" -reports:coverage.xml -targetDir:CodeCoverageHTML

可悲的是,您的mstest不接受測試項目的通配符,因此您的行尾非常長。 另請注意,上述命令行不包括測試類別“ SqlTests”和“ Performance”。 然后將輸出轉換為其他插件接受的格式。

您可以在構建和單元測試之后啟動一些虛擬機,然后通過一些腳本(其中包含一些測試數據)來安裝程序,並對系統進行一些自動化測試。

對於適當的GUI,我們還沒有測試策略。

如果您要使用開箱即用的MS測試,則有很多選項可供選擇。 否則,您需要檢查服務提供商是否可以支持xUnitRunner或其他可以在您的解決方案中使用的類似測試框架。

  1. TFS / VisualStudio在線
  2. TeamCity的
  3. MSBuild的傑克斯
  4. Appveyor

對於UI自動化,您可以選中White Framework 我認為,與功能和易用性相比,它是迄今為止最好的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM