You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用NUnit为WebApi编写单元测试遇多类报错求助

问题1:Assert不包含IsNotNull/AreEqual定义的解决方法
  • 先确认测试项目安装了正确的NUnit依赖:
    执行命令安装核心包和测试适配器:
    dotnet add package NUnit
    dotnet add package NUnit3TestAdapter
    
  • 检查测试类文件顶部是否引用了using NUnit.Framework;,如果误引了其他测试框架(比如xUnit)的命名空间,就会找不到NUnit的断言方法
  • 两种断言写法的正确示例:
    • 经典断言:Assert.IsNotNull(controller);、Assert.AreEqual("Hello", result.Value);
    • 现代断言(NUnit推荐风格):Assert.That(controller, Is.Not.Null);、Assert.That(result.Value, Is.EqualTo("Hello"));
问题2:error CS0579 重复特性的解决方法
  • 检查测试项目的.csproj文件,确保<GenerateAssemblyInfo>false</GenerateAssemblyInfo>放在正确的<PropertyGroup>节点下,示例:
    <Project Sdk="Microsoft.NET.Sdk">
      <PropertyGroup>
        <TargetFramework>net6.0</TargetFramework>
        <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
        <Nullable>enable</Nullable>
      </PropertyGroup>
      <!-- 其他包引用和配置 -->
    </Project>
    
  • 如果测试项目里有手动创建的AssemblyInfo.cs文件,打开它删掉重复的[assembly: AssemblyCompany(...)]、[assembly: AssemblyProduct(...)]这类特性
  • 清理项目缓存后重新构建:
    dotnet clean
    dotnet restore
    dotnet test
    
    注意:测试项目不要用dotnet run执行,应该用dotnet test命令来运行单元测试

内容的提问来源于stack exchange,提问作者Abaiz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 03:20:01