Должен ли модульный тестовый проект для .NET Standard использовать целевые платформы, отличные от .NET Core? - PullRequest
0 голосов
/ 13 июня 2018

Если у вас есть библиотека .NET Standard, тестовый проект должен быть ориентирован на реальную платформу.Наиболее логичным выбором (я полагаю) является нацеливание на .NET Core, поскольку он работает на нескольких операционных системах, но также возможно нацеливание на несколько платформ , как показано в документации xUnit.net :

В одном тестовом проекте мы можем запускать наши тесты на нескольких целевых платформах.Откройте файл .csproj и измените его:

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

На это:

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

Есть ли для этого какая-либо практическая причина, т. Е. Существуют ситуации, требующие от васнацеливаться на несколько платформ?

Единственная причина, о которой я могу подумать, - это знать об ошибках в конкретной платформе, которые встречались пару раз в .NET Framework.Но кажется, что вы будете тестировать платформу вместо своей библиотеки, поэтому я не уверен, что это достаточно веская причина.

1 Ответ

0 голосов
/ 13 июня 2018

Я думаю, что единственная причина, по которой это имеет смысл, заключается в том, что вы беспокоитесь о разном поведении API платформ в .NET Framework и .NET Core.

По большей части API-интерфейсы ведут себя одинаково на разных платформах, но могут быть случаи, когда есть небольшие различия.Некоторые из этих различий задокументированы здесь .

...