在Visual Studio.NET中,如何识别项目中使用的是什么单元测试框架?

polhcujo  于 2023-01-31  发布在  .NET
关注(0)|答案(3)|浏览(387)

我正在处理一个Visual Studio C#项目,我需要知道它使用的是什么单元测试框架,但是没有人可以问。
我怎么能检查呢?

w8f9ii69

w8f9ii691#

这里最可靠的方法是查看测试项目所具有的项目引用(在IDE中通过展开解决方案资源管理器中的“References”,或者直接查看csproj)。您可能会找到xunit、nunit、mstest之类的内容,或者其他指示您正在使用的内容的内容。
注意,这通常是加上Microsoft.NET.Test.Sdk,这与使它可测试有关;例如,我有一个xunit项目,其中包括:

<PackageReference Include="xunit" Version="2.4.1" />
    <PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" />
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.3.0" />

底部两个用于集成目的;最上面的一个是实际的测试框架参考。

ktecyv1j

ktecyv1j2#

有两件不同的事情需要注意。
首先是代码中使用的测试框架。最常见的是nUnit、xUnit和MSTest。这很容易通过查看项目的引用或安装的NuGet包来检查。
但是,Visual Studio需要能够发现和运行这些测试。为此,每个测试框架通常都有一个适配器,作为Visual Studio插件(通常是旧版本)或作为参考或NuGet包安装。对于nUnit,这将是NUnit3TestAdapter或xUnit Xunit.Runner.VisualStudio

ldioqlga

ldioqlga3#

如果你不在乎花几秒钟的时间,你应该使用正式的方法来确定csproj文件是否包含测试:

dotnet test --list-tests <project.csproj>

相关文档https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-test
这将列出该项目中的所有测试,而不执行它们。

相关问题