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

求助:NUnit搭配Live Testing异常,测试被标记为排除状态

解决Live Unit Testing排除NUnit测试的问题

嘿,我来帮你搞定这个困扰!你遇到的NUnit测试被Live Testing排除,但MSTest正常的问题,大概率是测试适配器兼容或者VS配置的问题,下面是一步步的解决办法:

1. 检查并更新NUnit测试适配器

VS的Live Unit Testing需要对应的NUnit测试适配器才能识别NUnit测试,而你用的VS2017 15.6.2和NUnit 3.10.1需要匹配的适配器版本:

  • 右键你的测试项目,选择「管理NuGet程序包」
  • 在「浏览」标签搜索NUnit3TestAdapter,安装3.10.0或3.11.0版本(这两个版本和VS2017 15.6.x兼容性更好)
  • 安装完成后重启Visual Studio,再开启Live Testing试试

2. 确认Live Testing的项目包含设置

有时候VS会默认排除某些测试项目,你需要手动确认:

  • 点击VS右上角的「Live Unit Testing」按钮,打开下拉菜单
  • 选择「Include/Exclude Projects」,确保你的NUnit测试项目被勾选包含在内
  • 另外,检查「Filter Tests」选项,确保没有过滤掉NUnit的测试类别或命名空间

3. 清理混合测试框架的干扰(可选)

你的测试项目里同时存在MSTest和NUnit的代码(两个不同的测试类),虽然理论上没问题,但偶尔会导致VS的测试发现机制混乱:

  • 如果不需要MSTest,可以移除using Microsoft.VisualStudio.TestTools.UnitTesting;引用,以及对应的[TestClass]和[TestMethod]属性
  • 只保留NUnit的[TestFixture]和[Test]标记的代码

4. 清理缓存并重建解决方案

编译缓存有时候会导致测试识别异常,试试这个操作:

  • 点击VS菜单的「生成」→「清理解决方案」
  • 然后点击「生成」→「重新生成解决方案」
  • 再次开启Live Testing,看是否能识别NUnit测试

5. 更新Visual Studio到最新补丁

VS2017 15.6.2可能存在一些测试工具的bug,建议检查更新:

  • 打开VS的「工具」→「获取工具和功能」
  • 进入Visual Studio Installer,检查是否有针对测试组件的更新,安装后重启VS

你的代码示例

using Microsoft.VisualStudio.TestTools.UnitTesting;
using NUnit.Framework;
namespace UnitTestProject1
{
    [TestClass]
    public class UnitTest1
    {
        [TestMethod]
        public void TestMethod1() { }
    }
    [TestFixture]
    public class NUnitTest1
    {
        [Test]
        public void NUnitTestMethod1() { }
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:16:59