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

Microsoft Visual Studio 2017添加代码后测试消失问题求助

排查VS2017中NUnit测试消失的问题

这种测试突然从VS测试探索器里消失的情况真的挺闹心的,我之前维护NUnit测试套件的时候也踩过类似的坑,结合你的场景(VS2017 + C# + Selenium + 多浏览器扩展),给你整理几个最靠谱的排查方向:

1. 先检查NUnit核心属性是否配置正确

多浏览器测试依赖NUnit的参数化特性,如果新增的测试代码漏了关键属性,测试探索器直接会忽略它们:

  • 确认测试类带了[TestFixture](尤其是带浏览器参数的版本),测试方法必须标记[Test];
  • 举个标准的多浏览器测试结构示例,你可以对照自己的代码检查:
    // 定义浏览器枚举
    public enum BrowserType { Chrome, Firefox }
    
    [TestFixture(BrowserType.Chrome)]
    [TestFixture(BrowserType.Firefox)]
    public class OrderTests
    {
        private IWebDriver _driver;
        private readonly BrowserType _browser;
    
        // 必须有对应参数的构造函数,接收TestFixture的参数
        public OrderTests(BrowserType browser)
        {
            _browser = browser;
        }
    
        [SetUp]
        public void SetupDriver()
        {
            // 初始化对应浏览器的Driver
            _driver = _browser switch
            {
                BrowserType.Chrome => new ChromeDriver(),
                BrowserType.Firefox => new FirefoxDriver(),
                _ => throw new ArgumentOutOfRangeException()
            };
        }
    
        [Test] // 这个属性绝对不能少
        public void SubmitOrder_Success()
        {
            // 测试逻辑
        }
    }
    
  • 另外检查测试类和方法的访问修饰符,必须是public,internal或private的测试不会被识别。

2. 排查NuGet包与项目配置的一致性

如果新增测试时改动了依赖包或项目框架,也可能导致测试发现失败:

  • 对比原有正常测试的项目,确保当前项目的NUnit、NUnit3TestAdapter、Selenium.WebDriver版本完全一致(VS2017对NUnit3的适配建议用3.10+的TestAdapter版本);
  • 确认项目目标框架和原有项目一致(比如都是.NET Framework 4.6.1),不同框架的测试可能不会被统一识别。

3. 清理编译与缓存问题

VS测试探索器有时候会缓存旧数据,或者隐性编译错误导致测试无法加载:

  • 先清理解决方案:点击菜单栏「生成」→「清理解决方案」,删除项目下的bin和obj文件夹,再重新生成;
  • 刷新测试探索器:点击顶部的「刷新」按钮,或者右键选择「全部运行」,强制触发测试重新探索。

4. 检查测试探索器的过滤设置

有时候是自己不小心触发了过滤规则,导致测试被隐藏:

  • 点击测试探索器顶部的「设置」图标,确认勾选了「包括所有测试」,没有按命名空间、测试类别等条件过滤掉新增测试。

如果以上步骤都试过还是没解决,建议把新增测试的代码片段贴出来,这样能更精准地定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:24:13