【问题标题】:.NET Core with NUnit test.NET Core 和 NUnit 测试
【发布时间】:2019-01-13 00:48:03
【问题描述】:

我正在使用 .NET Core 并正在创建一个单元测试。

为此,我正在运行“dotnet new nunit -n tests”来创建一个包含第一个类的项目来测试另一个项目。

问题是:我可以运行使用“dotnet test”创建的简单代码,但我无法编写代码,因为我收到“找不到 NUnit”错误。

PS.:我正在使用Visual Studio Code(最新版本)。

我的 .csproj:

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

  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>

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

  <ItemGroup>
    <PackageReference Include="nunit" Version="3.11.0" />
    <PackageReference Include="NUnit3TestAdapter" Version="3.11.0" />
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
  </ItemGroup>

</Project>

错误:

找不到类型或命名空间名称“NUnit”(您是否缺少 using 指令或程序集引用?)

【问题讨论】:

  • 你试过dotnet restore吗?
  • 我刚刚注意到 nunit 都是简单的字母,这与我在示例项目中的不同。试试,
  • @NevilleNazerane 是的。
  • @Hasitha 不工作。
  • 我从问题中运行了 CLI,复制了您的 csproj 文件以确保,然后运行“dotnet build”。它工作正常。换句话说,您提供的所有内容都可以正常工作,并且您的问题不能仅以此来复制。因此,您的问题不是基于您提到的任何内容。检查错误实际显示在哪一行和项目中

标签: unit-testing .net-core nunit


【解决方案1】:

我也遇到过这个问题,很困惑。事实证明问题出在解决方案上,而不是创建的 dotnet new nunit 项目。

解决方案是自动包含子目录并尝试将其构建为源。可以通过右键单击解决方案中的新测试项目并选择“从项目中排除”来排除该目录。重新构建,错误就消失了。

【讨论】:

  • 如何自动包含子目录?您能否详细说明(请通过editing your answer 回复(没有“编辑:”、“更新:”或类似内容),不在 cmets 中)?至少有一个(特定的)链接。
【解决方案2】:

我使用Visual Studio 2017(不是 Visual Studio Code)解决了这个问题。最好构建一个 Microsoft 解决方案。

编辑:如果您使用的是 Visual Studio(完整版),您可以更好地查看解决方案、项目和参考。

如果您使用 Visual Studio Code 并包含新的类或文件,则不会自动将引用添加到您的项目文件 (.csproj) 中。也许有其他方法可以做到这一点,但目前我只使用完整版本。

【讨论】:

  • 你能详细说明一下吗(让未来的读者知道该怎么做)?为什么使用 Visual Studio 2017 而不是 Visual Studio Code 会有所不同?你还做了什么吗? (请通过editing your answer 回复(没有“编辑:”、“更新:”或类似内容),不在 cmets 中)。
  • @PeterMortensen 我更新了答案。不知道你是不是在找,不过,过去我只用过完整版。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-03
  • 1970-01-01
  • 1970-01-01
  • 2021-07-17
  • 2021-12-03
  • 2019-04-12
相关资源
最近更新 更多