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

Rider持续移除解决方案中的测试项目及Unity测试执行问题求助

解决Rider 2018 + Unity 2018的两类测试项目问题

一、测试项目无故从解决方案消失的修复方案

这个问题大概率是Unity与Rider的解决方案同步机制和你频繁切换.NET框架版本导致的冲突——Unity会自动重新生成解决方案文件,若测试项目的框架版本和Unity主项目不匹配,就容易被排除在外。试试这些实操步骤:

  1. 统一.NET框架版本,停止来回切换

    • 直接把主项目和测试项目都锁定为.NET Framework 4.7.2(Unity 2018兼容的4.x版本):
      • 在Unity编辑器中打开Edit > Project Settings > Player > Other Settings > Configuration,将Scripting Runtime Version设为.NET 4.x Equivalent,重启Unity和Rider
      • 在Rider中右键测试项目,选择Properties > Application,把目标框架改成和Unity一致的4.x版本
  2. 手动控制解决方案同步,避免自动覆盖

    • 打开Rider的Settings > Languages & Frameworks > Unity Engine,取消勾选Automatically refresh Unity project,改用工具栏的Sync with Unity按钮手动同步
    • 添加测试项目后,立刻手动保存整个解决方案(File > Save All),防止Unity自动生成解决方案时覆盖掉你的修改
  3. 确认测试项目的包含状态

    • 在Rider的解决方案窗口右键点击测试项目,选择Include in Project(如果有该选项)
    • 直接打开解决方案文件(.sln),检查测试项目的<Project>节点是否被标记为Excluded,如果有就删掉这个标记
  4. 减少Unity自动生成项目的范围

    • 在Unity的Edit > Preferences > External Tools里,取消勾选Generate all .csproj files,只保留必要的项目文件,降低自动生成时的冲突概率

二、Unity内置测试在IDE中正常执行的配置方法

Unity通过Create > Testing > Test Assembly Folder创建的测试属于Unity Test Framework (UTF),和普通NUnit项目结构不同,需要针对IDE做特殊配置:

  1. 确保Rider启用了Unity测试插件

    • 打开Rider的Settings > Plugins,搜索Unity Test Runner,确认它处于启用状态(Rider 2018默认自带,但建议检查一遍)
  2. 给测试类添加正确的UTF特性

    • 你的测试类必须使用UTF专属的特性,不能只用普通NUnit标记:
      • Edit Mode测试:类需放在Edit Mode Assembly中,添加[Test]特性即可
      • Play Mode测试:类需放在Play Mode Assembly中,使用[UnityTest]特性(方法要返回IEnumerator)
    • 示例代码:
      using NUnit.Framework;
      using UnityEngine.TestTools;
      
      // Edit Mode测试示例
      public class SampleEditModeTest
      {
          [Test]
          public void EditModeTest_Passes()
          {
              Assert.IsTrue(true);
          }
      }
      
      // Play Mode测试示例
      public class SamplePlayModeTest
      {
          [UnityTest]
          public IEnumerator PlayModeTest_Passes()
          {
              yield return null;
              Assert.IsTrue(true);
          }
      }
      
  3. 在Rider中直接运行Unity测试

    • 打开Rider的Window > Tests面板(快捷键Alt+6)
    • 在测试面板左上角,选择Unity Test Runner作为当前测试会话(而非普通NUnit会话)
    • 此时就能看到所有Unity测试,点击运行按钮即可直接在IDE内执行,无需切换到Unity
  4. VS 2017识别测试的补充配置(可选)

    • 确保VS安装了Unity Test Framework插件
    • 在Unity中执行Assets > Open C# Project,让Unity重新生成适配VS的项目文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:35:15