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

NUnit3TestDiscoverer抛异常,构建后Test Explorer无测试显示

VS2015中NUnit3测试构建后消失并报“对象引用未设置”的解决建议

额外可尝试的解决方法

  • 清理重装NuGet依赖:彻底卸载NUnit和NUnit3TestAdapter,删除项目根目录的packages文件夹,重新安装适配VS2015的版本组合——比如NUnit v3.12.0搭配NUnit3TestAdapter v3.17.0(新版本适配器对VS2015兼容性可能存在问题)。
  • 检查输出目录权限:确认测试项目的输出目录(默认bin/Debug/bin/Release)无系统权限限制,避免测试适配器无法读取构建后的.dll文件。
  • 禁用并行测试发现:在测试项目中添加nunit3.config配置文件,写入以下内容强制关闭并行发现逻辑,规避并发状态下的空引用异常:
    <nunit>
      <test-runner parallel="off" />
    </nunit>
    
  • 校验测试特性兼容性:确保测试类和方法使用NUnit3标准特性,比如用[OneTimeSetUp]替代旧版[TestFixtureSetUp],避免过时特性触发适配器解析错误。

是否需要提交NUnit Bug报告?

如果上述方法都无法彻底解决问题,建议提交Bug报告。这个空引用异常大概率是NUnit3TestAdapter在VS2015环境下处理架构切换时的状态异常。提交时需提供:

  • VS2015具体版本号(比如Update 3)
  • NUnit和NUnit3TestAdapter的精确版本
  • 目标.NET Framework版本(4.6/4.6.2)
  • 完整重现步骤(加载解决方案→可见测试→构建后测试消失的全流程)
  • 临时解决步骤细节
  • VS输出窗口捕获到的异常完整堆栈信息(若能获取)

优化临时解决步骤体验

可将架构绑定操作保存为VS解决方案配置:

  1. 点击解决方案平台下拉框,选择“配置管理器”
  2. 创建新的解决方案配置(比如命名为Test-x86)
  3. 将对应测试项目的平台设为x86,同时在“测试→测试设置→默认CPU架构”中选择x86
  4. 同理创建Test-x64配置,后续直接选择预设配置即可,无需手动重复操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 10:12:19