Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何在构建中运行应用程序项目下的测试,而不是测试项目下的测试?_.net_Unit Testing_Msbuild_Azure Devops_Nunit - Fatal编程技术网

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

.net 如何在构建中运行应用程序项目下的测试,而不是测试项目下的测试?,.net,unit-testing,msbuild,azure-devops,nunit,.net,Unit Testing,Msbuild,Azure Devops,Nunit,我继承了为在应用程序项目中而不是在测试项目中有测试文件的解决方案创建构建的乐趣 MySolution |__MyProject |__MyClass.cs |__MyClassTest.cs 我之前创建的所有构建都有一个测试项目,可以很好地处理VSTS中的测试任务。由于没有测试程序集,因此不会拾取并运行测试 在构建步骤中,我尝试将项目程序集作为测试程序集,但没有成功。我怎样才能做到这一点 编辑 下面是指向程序集的日志 2018-07-31T18

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

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

无论这是测试程序集还是其他可执行文件,测试都可以工作。当wrt测试出现问题时,第一步是检查它是否在VisualStudio中工作,下一步是深入研究VSTS配置。
@Yatrix确认它在他的Visual Studio上也不起作用,所以我在上推了一个复制项目,从中@Yatrix注意到他正在使用NUnit 2.6.4和NUnit 3.10适配器。NUnit2和NUnit3测试框架非常不同,使用不同的适配器。运行NUnit 2适配器时,@yatrix报告它现在可以工作。

项目是否有适当的测试框架适配器作为NuGet包引用?在测试项目和常规项目中,没有什么特别的东西会阻止测试被发现,这超出了测试发现的正常问题类型。@DanielMann似乎是这样认为的。我添加了NUnit3TestAdapter,这是我在一个有测试项目的构建中遇到nunit问题时所需要的。正如@DanielMann所说,这应该可以在oob中工作。它在VisualStudio中工作吗?你真的确定你的过滤器没有排除这个程序集吗?好的,事实上,这很好,在VS中更容易修复:-我刚刚尝试在VS中设置一个命令行应用程序,添加了一个测试类,+nunit和适配器,它直接工作。现在正在为相同的设置VSTS构建,注意到我必须更改过滤器。我在github中添加了一个repro:看看它是否能在你的VS上运行,然后修改它,使之与你的情况下任何不起作用的东西相匹配。它在VSTS构建中起作用:-基本上,我是哑巴;再次感谢!