如何在构建中运行应用程序项目而不是测试项目下的测试?

时间:2018-07-31 18:37:24

标签: .net unit-testing msbuild azure-devops nunit

我继承了为解决方案创建构建的乐趣,该解决方案在应用程序项目中而不是在测试项目中具有测试文件。

MySolution 
    |__MyProject
          |__MyClass.cs
          |__MyClassTest.cs

我之前创建的所有构建都有一个测试项目,并且可以很好地处理VSTS中的测试任务。由于没有测试程序集,因此不会拾取和运行测试。

我在构建步骤中将项目程序集作为“测试程序集”进行了尝试,但这没有用。我该怎么做?

编辑

这是指向程序集的日志。

2018-07-31T18:31:25.0890193Z Starting test execution, please wait...
2018-07-31T18:31:25.8549638Z NUnit Adapter 3.10.0.21: Test execution started
2018-07-31T18:31:25.8558752Z Running all tests in C:\agent\_work\14\s\MyProject\bin\MyProject.dll
2018-07-31T18:31:26.8625176Z NUnit couldn't find any tests in C:\agent\_work\14\s\MyProject\bin\MyProject.dll
2018-07-31T18:31:26.9532542Z Running all tests in C:\agent\_work\14\s\MyProject\obj\Release\Before-PostSharp\MyProject.dll
2018-07-31T18:31:26.9539232Z NUnit couldn't find any tests in C:\agent\_work\14\s\MyProject\obj\Release\Before-PostSharp\MyProject.dll
2018-07-31T18:31:26.9691860Z Running all tests in C:\agent\_work\14\s\MyProject\obj\Release\MyProject.dll
2018-07-31T18:31:26.9692255Z NUnit couldn't find any tests in C:\agent\_work\14\s\MyProject\obj\Release\MyProject.dll
2018-07-31T18:31:26.9726008Z NUnit Adapter 3.10.0.21: Test execution complete

1 个答案:

答案 0 :(得分:1)

测试有效,无论它是测试程序集还是其他可执行文件。如果无法通过测试进行某些步骤,则第1步是检查它是否可以在Visual Studio中运行,接下来是深入研究VSTS配置。 @Yatrix确认它也不能在他的Visual Studio上运行,因此我在https://github.com/OsirisTerje/ExecutableAsTest处启动了一个repro项目,然后@yatrix注意到他正在将NUnit 2.6.4与NUnit 3.10适配器一起使用。 NUnit 2和NUnit 3测试框架非常不同,并且使用不同的相应适配器。通过与NUnit 2适配器一起运行,@ yatrix现在可以向其报告。