Unity3D测试运行程序处于播放模式,不提供测试反馈

Unity3D测试运行程序处于播放模式,不提供测试反馈,unity3d,testing,Unity3d,Testing,我刚开始使用Unity来构建一个华丽的恐龙游戏。因为我正在按照TDD理念开发我的游戏,所以我想测试一下我的游戏。因此,以下是我在Unity 2019.1.9.f2上未成功尝试的内容: 创建新的二维项目 在TestRunner中,选择PlayMode 创建播放模式测试程序集文件夹 在当前文件夹中创建测试脚本 下面是我想尝试的测试代码: 使用系统集合; 使用System.Collections.Generic; 使用NUnit.Framework; 使用UnityEngine; 使用UnityEng

我刚开始使用Unity来构建一个华丽的恐龙游戏。因为我正在按照TDD理念开发我的游戏,所以我想测试一下我的游戏。因此,以下是我在Unity 2019.1.9.f2上未成功尝试的内容:

  • 创建新的二维项目
  • 在TestRunner中,选择PlayMode
  • 创建播放模式测试程序集文件夹
  • 在当前文件夹中创建测试脚本
  • 下面是我想尝试的测试代码:

    使用系统集合;
    使用System.Collections.Generic;
    使用NUnit.Framework;
    使用UnityEngine;
    使用UnityEngine.TestTools;
    命名空间测试
    {
    公共类NewTestScript
    {
    //测试的行为与普通方法相同
    [测试]
    public void newTestScriptSimplePass()
    {
    //使用Assert类测试条件
    Assert.Inconclusive();
    }
    //UnityTest在播放模式下的行为类似于协同程序。在编辑模式下,您可以使用
    //`yield return null;`跳过一帧。
    [单位测试]
    公共IEnumerator NewTestScriptWithEnumeratorPasses()
    {
    //使用Assert类测试条件。
    //使用yield跳过一帧。
    收益返回空;
    Assert.Inconclusive();
    }
    }
    }
    
    TestRunner没有向我提供关于测试的任何类型的反馈,除了测试“没有运行”(绿色测试数=失败测试数=0,未运行测试数=2)。我试图重新启动Unity并再次运行测试,但没有成功

    这种缺乏反馈的情况很有趣,因为如果我在这两个测试中都设置了断点,那么它们就会被击中,即测试正在运行

    与2018.4.3f1和2019.2.0b9相同

    现在如果我用Unity 2018.1.9f2复制这个实验,那么

    • newTestScriptSimplePass
      完全不提供反馈
    • NewTestScriptWithEnumeratorPasses
      在控制台中触发“InconclusiveException”
    如果我用
    Assert.IsTrue(false)
    替换
    Assert.Inconclusive()。如果我在第二次测试中调用
    Assert.IsTrue(true)
    ,那么我不会得到任何反馈。在所有情况下(也包括我遇到异常的情况),绿色/红色记号根本不会显示在测试运行程序上

    我做错了什么?在编辑模式下,一切正常


    提前感谢您的帮助…

    所以。。。我终于成功了。在我看来,这可能是Unity中的一个bug,但我不能自信地说,因为我是Unity的一个非常缺乏经验的用户。我是如何获得绿色/红色刻度的:完全巧合的是,我按下了播放按钮(为了玩游戏,所以与测试无关),然后按下暂停,然后再次按下暂停,然后按下步骤按钮。同时,在2018.4.3f1版本中,我能够运行播放模式测试。然后,突然出现了绿色/红色的蜱虫。从那以后,我不再需要在游戏模式下运行我的游戏来获得测试的反馈。。。这有点奇怪。此外,非结论性断言也没有得到正确的跟踪:如果存在被认为是传递的断言,则应以与EditorMode中相同的方式来考虑它们:非结论性的橙色圆圈

    所以。。。我终于成功了。在我看来,这可能是Unity中的一个bug,但我不能自信地说,因为我是Unity的一个非常缺乏经验的用户。我是如何获得绿色/红色刻度的:完全巧合的是,我按下了播放按钮(为了玩游戏,所以与测试无关),然后按下暂停,然后再次按下暂停,然后按下步骤按钮。同时,在2018.4.3f1版本中,我能够运行播放模式测试。然后,突然出现了绿色/红色的蜱虫。从那以后,我不再需要在游戏模式下运行我的游戏来获得测试的反馈。。。这有点奇怪。此外,非结论性断言也没有得到正确的跟踪:如果存在被认为是传递的断言,则应以与EditorMode中相同的方式来考虑它们:非结论性的橙色圆圈