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

NetArchTest.Rules断言测试失效:所有测试误报成功求助

解决NetArchTest.Rules测试始终返回成功的问题

可能的原因及修复方案

1. 确认程序集引用是否正确

检查DomainAssembly是否指向了正确的Domain层程序集:

  • 确保IEntity<>确实定义在Domain项目中,而非其他项目。
  • 可通过输出程序集名称验证:
    Console.WriteLine(DomainAssembly.FullName);
    
    对比输出结果与实际Domain项目的程序集名称是否一致。

2. 修正依赖名称的匹配值

HaveDependencyOnAny方法接收的是程序集名称(不是命名空间或项目名称),需确保参数是目标依赖程序集的准确名称:

  • 右键目标项目(如Application层)→属性→应用程序→查看「程序集名称」。
  • 将测试代码中的参数替换为正确的程序集名称,示例:
    .HaveDependencyOnAny("CleanArchitecture.Application")
    

3. 验证测试逻辑的正确性

若上述两步确认无误,可故意在Domain层添加一个对Application层的引用,运行测试看是否会失败。若仍成功,尝试更新NetArchTest.Rules到最新版本:

Install-Package NetArchTest.Rules -Version <最新版本号>

4. 检查测试断言的逻辑

确保测试意图与断言一致:如果是验证Domain层没有指定依赖,Assert.True(result.IsSuccessful)是正确的;如果是验证存在依赖,则需改为Assert.False(result.IsSuccessful)。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 01:11:13