代码之家  ›  专栏  ›  技术社区  ›  Scott Nimrod

如何让NUnit3TestAdapter与我一起工作。净标准2.0?

  •  39
  • Scott Nimrod  · 技术社区  · 7 年前

    如何让NUnit3TestAdapter与我一起工作。净标准2.0?

    我收到以下错误:

    1>C: \Nikeza\Mobile\Nikeza。移动\测试\基于示例。金融服务项目:

    警告NU1701:包“NUnit3TestAdapter 3.9.0”已使用还原 '.NETFramework,版本=v4.6.1’,而不是项目目标框架 '.NETStandard,版本=v2.0’。

    此软件包可能与您的项目不完全兼容。 1>基于示例-> C: \Nikeza\Mobile\Nikeza。Mobile\Tests\bin\Debug\netstandard2.0\ExampleBased。动态链接库

    1 回复  |  直到 7 年前
        1
  •  38
  •   Rob Prouse    7 年前

    您没有提供足够的信息来诊断项目文件的错误,但NUnit适配器的it 3.9.0可以使用。NET标准2.0和F#。我认为您的测试项目的目标是。净标准。它需要有针对性。净核心或。净4.6.1+。测试项目被视为可执行文件,它们需要针对特定的框架,而不是。净标准。您正在测试的代码可以是。尽管是净标准。

    您应该遵循文档 Unit testing F# libraries in .NET Core using dotnet test and NUnit 阅读NUnit文件, .NET Core and .NET Standard .

    您的项目文件应该如下所示,

    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
        <TargetFramework>netcoreapp2.0</TargetFramework>
    
        <IsPackable>false</IsPackable>
      </PropertyGroup>
    
      <ItemGroup>
        <Compile Include="Tests.fs" />
        <Compile Include="Program.fs" />
      </ItemGroup>
    
      <ItemGroup>
        <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
        <PackageReference Include="NUnit" Version="3.9.0" />
        <PackageReference Include="NUnit3TestAdapter" Version="3.9.0" />
      </ItemGroup>
    
      <ItemGroup>
        <ProjectReference Include="..\MathService\MathService.fsproj" />
      </ItemGroup>
    
    </Project>