C#,WPF项目的自动化测试和持续集成

有没有办法自动测试和持续集成C#,WPF项目? 我想过像詹金斯这样的东西,但据我所知詹金斯不支持C#项目。 它应该成为测试驱动开发的工具,可以进行自动化测试,也可以用于GUI。 也许构建工具窗体gitlab是一个选项?

提前谢谢了!


我们使用Jenkins和我们的C#项目。 您可以使用MSBuild插件来构建项目,或使用“Windows批处理命令”

"C:WindowsMicrosoft.NETFrameworkv4.0.30319MSBuild.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)OpenCoverOpenCover.Console.exe" "-target:C:vsCommon7IDEMSTest.exe" "-targetargs:/nologo /testcontainer:TestsProject1Tests.dll /testcontainer:TestsProject2Tests.dll /resultsfile:testresult.trx /category:"^!SqlTests^&^!Perfomance"" -output:coverage.xml
"C:Program Files (x86)OpenCoverOpenCoverToCoberturaConverter.exe" -input:coverage.xml -output:outputCobertura.xml -sources:%WORKSPACE%
"C:Program Files (x86)ReportGeneratorReportGenerator.exe" -reports:coverage.xml -targetDir:CodeCoverageHTML

可悲的是,你的mstest不接受测试项目的通配符,所以你最终会遇到一个非常长的问题。 另请注意,上述命令行不包括测试类别“SqlTests”和“性能”。 然后将输出转换为其他插件接受的格式。

在构建和单元测试之后,您可以启动一些虚拟机,并通过一些带有一些测试数据的脚本安装程序,并对系统进行一些自动化测试。

对于GUI来说,我们还没有一个测试策略。


如果您打算使用开箱即用的MS Test,有很多选项可供选择。 否则,您需要检查服务提供商是否可以支持xUnit runner或其他类似的可用于您的解决方案的测试框架。

  • TFS / VisualStudio Online
  • TeamCity的
  • 与MSBuild的Jekings
  • Appveyor
  • 对于UI自动化,您可以检查白色框架。 如果与功能和易用性相比,它是我认为最好的一个。

    链接地址: http://www.djcxy.com/p/50783.html

    上一篇: Automated testing and continous integration of C# , WPF project

    下一篇: How to integrate jenkins with selenium?