gpt4 book ai didi

c# - 如何使用来自 Rider 或 VS 2017 的 NUnit、xUnit 或 MSTest 测试 .NET Standard 2 库?

转载 作者:太空狗 更新时间:2023-10-29 20:49:07 24 4
gpt4 key购买 nike

我有一个使用 Azure Durable Functions 的项目,并且它们仅在 .NET Standard 2 上可用。因此,它定义了可以在测试项目中使用哪个类库。但是,我无法将 xUnit、NUnit 或 MSTest 用于单元/集成测试的库放在一起。

将 NUnit 添加到 .NET Standard 2 是类库的项目失败并出现以下错误:

INFO: Restoring packages for C:\VSTS\github.com\netstandardXunitMsTestNunit\src\Netstandard2xUnitMsTestnUnit\nunit\nunit.csproj... DEBUG: Restoring packages for .NETStandard,Version=v2.0... DEBUG: Resolving conflicts for .NETStandard,Version=v2.0... ERROR: Cycle detected. nunit -> NUnit (>= 3.9.0). DEBUG: Checking compatibility of packages on .NETStandard,Version=v2.0. DEBUG: Checking compatibility for nunit 1.0.0 with .NETStandard,Version=v2.0.

xUnit 的错误是相同的(只是错误消息谈论的是 xUnit 循环)。

这两个错误也可以在 Rider 和 Visual Studio 2017 Enterprise 中重现。清理 nuget 缓存后,我再次尝试。结果是一样的。

在 MsTest 的情况下,可以添加 ms 测试库,但测试发现对 Rider 和 Visual Studio 都不起作用。

是否有可能对 .NET Standard 2 库进行单元测试?

除了等待这些项目采用 .NET Standard 2 之外,我还能做些什么吗?

I created a small sample project, can be found here: https://github.com/SayusiAndo/netstandard2xunitresharper

最佳答案

.NET Standard 没有运行时,因此它不会执行您的测试。

您的测试程序集必须针对可执行平台,例如 .NET Framework 或 .NET Core 的版本。

<TargetFramework>net470</TargetFramework>

或者

<TargetFramework>netcoreapp2.0</TargetFramework>

参见 Running .NET Standard binaries on different frameworks了解更多详情。

关于c# - 如何使用来自 Rider 或 VS 2017 的 NUnit、xUnit 或 MSTest 测试 .NET Standard 2 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48885428/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com