NUnit не работает generi c TestFixture - PullRequest
0 голосов
/ 14 апреля 2020

Я столкнулся со странным поведением в Nunit с Generi c TestFixture. Я использую командную строку, чтобы создать тестовый проект dotnet new nunit и скопировать вставленный код из вики NUnit:


[TestFixture(typeof(ArrayList))]
[TestFixture(typeof(List<int>))]
public class IList_Tests<TList> where TList : IList, new()
{
  private IList list;

  [SetUp]
  public void CreateList()
  {
    this.list = new TList();
  }

  [Test]
  public void CanAddToList()
  {
    list.Add(1); list.Add(2); list.Add(3);
    Assert.AreEqual(3, list.Count);
  }
}

Вот .csproj

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

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>

    <IsPackable>false</IsPackable>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Moq" Version="4.13.1" />
    <PackageReference Include="nunit" Version="3.12.0" />
    <PackageReference Include="NUnit3TestAdapter" Version="3.15.1" />
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.4.0" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\NetCoreEFCore3API\NetCoreEFCore3API.csproj" />
  </ItemGroup>

</Project>

Я нажимаю Run All Tests сверху класса и вот результат. В списке нет ни одного теста, который выполняется независимо от того, существует ли один CanAddToList метод теста. Работает нормально, если нет Generi c для TestFixture .

generic testfixture does not listed and run

Примечание dotnet test отлично работает как для обобщенных случаев c, так и для общих c.

Пожалуйста, дайте мне несколько советов для решения этой проблемы. Я в настоящее время использую .Netcore и VS Code.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...