testing - .NET Standard 库的单元测试项目是否应该针对 .NET Core 以外的框架?

标签 testing .net-standard

当您拥有 .NET 标准库时,测试项目需要针对实际平台。最合乎逻辑的选择(我认为)是针对 .NET Core,因为它在多个操作系统上运行,但也可以针对多个平台 as demonstrated in the xUnit.net documentation :

With a single test project, we can have our tests run against multiple target frameworks. Open the .csproj file and change this:

<PropertyGroup>
  <TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>

To this:

<PropertyGroup>
  <TargetFramework>net452;netcoreapp2.1</TargetFramework>
</PropertyGroup>

这样做是否有任何实际原因,即是否存在需要您针对多个平台的情况?

我能想到的唯一原因是要注意特定平台中的错误,这种错误在 .NET Framework 中已经发生过几次。但这感觉就像您将测试平台而不是库,所以我不确定这是否是一个足够好的理由。

最佳答案

我认为这样做有意义的唯一原因是,如果您担心 .NET Framework 和 .NET Core 之间的平台 API 行为不同。

在大多数情况下,API 跨平台的行为相同,但在某些情况下可能存在细微差异。其中一些差异已记录在案 here .

关于testing - .NET Standard 库的单元测试项目是否应该针对 .NET Core 以外的框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50839162/

相关文章:

c# - Visual Studio 2019 未将引用的项目添加到 deps.json

c# - 无法访问 .net 标准中的 httpcontext 扩展方法

java - Spring Boot - 如何测试图像是否正确提供

Java - @Before 和@test 注解

c# - 打包项目错误 : 'Conflicting values for resource' and 'Duplicate Entry'

c# - 带有 DescriptionAttribute 的 .NET Standard 可移植库错误

android - InApp购买测试始终要求提供付款方式

ruby-on-rails - Rails 4 测试根本没有运行

Hibernate 执行的查询和测试

asp.net-core - 构建 ASP.NET Core 项目以引用 .Net 标准库