如何在.net core中使用csproj注册测试发现器

4

使用dotnet migrate将我的nunit测试项目从json迁移到csproj后,我无法再运行我的测试。我收到一条消息,上面写着:

没有注册测试发现器来执行测试用例的发现。 注册一个测试发现器,然后重试。

以下是我的csproj文件供参考:

<Project Sdk="Microsoft.NET.Sdk">

     <PropertyGroup>
         <OutputType>Exe</OutputType>
         <TargetFramework>netcoreapp1.1</TargetFramework>
     </PropertyGroup>

     <ItemGroup>
         <ProjectReference Include="../Jsonics/Jsonics.csproj" />
     </ItemGroup>

     <ItemGroup>
         <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
         <PackageReference Include="NUnit" Version="3.6.0" />
         <PackageReference Include="dotnet-test-nunit" Version="3.4.0-beta-3" />
     </ItemGroup>
</Project>

以下页面告诉您如何在xunit和mstest中操作,但没有关于nunit的说明:

https://learn.microsoft.com/en-us/dotnet/articles/core/tools/project-json-to-csproj#testrunner

如何注册测试发现器?

我怀疑我们需要一个更新的dotnet-test-nunit版本。 - Miha Markic
顺便说一句,您可以使用最新版本的NCrunch(http://www.ncrunch.net)运行测试。 - GreenMoose
2个回答

1

他们正在更新适配器,查看此推文


现在这个问题解决了吗? - Dagrooms
分支应该是可以工作的。还有一个问题已经被提出。我认为还没有发布任何软件包。 - Miha Markic
我看到了,主要开发人员已经发布了一个临时解决方案。 - Dagrooms

1

目前的解决方法是使用NUnitLite使您的测试在独立的exe文件中运行。您可以阅读如何操作此处


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接