【问题标题】:Unit tests can't find monodevelop classes after Unity upgradeUnity升级后单元测试找不到monodevelop类
【发布时间】:2019-01-19 22:33:00
【问题描述】:

我最近刚刚更新了我的 Unity 应用程序,但在移植(任何)我的单元测试时遇到了一些问题。这些测试中似乎没有我的通用类对象(来自 Assembly-CSharp)。我尝试了很多东西,在网上搜索后我还没有找到任何东西。这是我的设置...

这是我的资产文件夹结构。我通过测试运行器添加了“Editor”文件夹和“GivenA”测试。

这是 VS 中的样子。

这里是 Tests.asmdef 文件设置

在我的 Unity 更新之前,所有这些都完美运行,任何帮助将不胜感激。如果需要更多信息,我也可以提供。谢谢!

此时我要做的就是将此代码包含在 GivenAControllerHealth.cs 文件中:

var controllerHealth = new ControllerHealth();

我收到错误“找不到命名空间“ControllerHealth”的类型。”

【问题讨论】:

    标签: c# visual-studio unity3d unity3d-editor


    【解决方案1】:

    我找到了解决方案,但如果有人有帮助的解释(尽管我认为这可能只是普遍缺乏 Unity 测试知识),我将不胜感激。

    我添加测试的方法是通过 Play 选项卡中的 Test Runner。显然此时这些 MonoDevelop 对象都不可用?我已经看到提到使用 Selenium 进行游戏测试,我不得不假设它把它当作项目不可用,除非通过 Find->GetComponent 方式。无论如何,我只是手动添加了一个“编辑器”文件夹并导入了我的测试,它们运行良好。看起来这将所有内容都默认为 Test Runner 中的“编辑”选项卡,所以这一定是关键。

    在“播放”模式下,您可以选择“创建播放模式测试程序集文件夹”

    这在我真正的“单元”/“功能”测试中不起作用

    所以我手动添加了“编辑器”文件夹,它默认测试为“编辑”模式

    现在一切顺利,生活再次美好,我可以继续编码。 :)

    希望这不是语无伦次的胡言乱语,它可以帮助以后遇到问题的人!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-27
      • 2018-01-12
      • 1970-01-01
      • 2020-12-03
      • 2021-09-28
      • 2022-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多