C#,WPF项目的自动化测试和持续集成
有没有一种方法可以对C#,WPF项目进行自动化测试和持续集成?我考虑过类似詹金斯的东西,但据我所知,詹金斯不支持C#projects。它应该是进行测试驱动开发的工具,可以进行自动化测试,也可以用于GUI。也许构建工具表单gitlab是一种选择C#,WPF项目的自动化测试和持续集成,c#,wpf,automated-tests,C#,Wpf,Automated Tests,有没有一种方法可以对C#,WPF项目进行自动化测试和持续集成?我考虑过类似詹金斯的东西,但据我所知,詹金斯不支持C#projects。它应该是进行测试驱动开发的工具,可以进行自动化测试,也可以用于GUI。也许构建工具表单gitlab是一种选择 非常感谢 我们确实在C#项目中使用Jenkins。您可以使用MSBuild插件来构建项目,或者使用“Windows批处理命令”,如 注意:使用此命令行,我将覆盖项目特定的警告和算术溢出设置 还有用于单元测试的插件。我们使用MSTest。由于我集成了Open
非常感谢 我们确实在C#项目中使用Jenkins。您可以使用MSBuild插件来构建项目,或者使用“Windows批处理命令”,如 注意:使用此命令行,我将覆盖项目特定的警告和算术溢出设置 还有用于单元测试的插件。我们使用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测试,有很多选项可供选择。否则,您需要检查服务提供商是否支持xUnit runner或其他类似的测试框架,这些框架可以在您的解决方案中使用
对于UI自动化,您可以检查。在我看来,与功能和易用性相比,它是迄今为止最好的。您可以使用Jenkins安装MSBuild。请参阅本文-您也可以将MSBuild与Bambol一起使用。竹有一个插件可用。至于CI服务器,TeamCity工作得很好。如果您想为WPF控件和窗口运行CodedUI测试,您需要查看MS测试工具,并在UI感知模式下配置它们。感谢所有评论!
"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