c# - Unity testrunner 在播放模式下运行 [Test]s 但不是 [UnityTests]
问题描述
我为 PlayMode 测试设置了我的测试环境。
标有[Test]
工作的测试很好,例如,如果我的代码如下所示:
using NUnit.Framework;
using UnityEngine;
using UnityEngine.TestTools;
namespace Tests
{
public class WinTestSuite
{
[Test]
public void WinTestSuiteDummy()
{
Assert.IsTrue(false);
}
}
}
...然后运行所有测试,Test Runner 输出如下所示:
(如预期)
不过,标记的测试[UnityTest]
似乎无需运行即可自动通过。如果我编辑我的测试套件看起来像这样:
using System.Collections;
using NUnit.Framework;
using UnityEngine;
using UnityEngine.TestTools;
namespace Tests
{
public class WinTestSuite
{
[UnityTest]
public IEnumerable WinTestSuiteDummy()
{
Debug.Log("Hello world");
yield return null;
Assert.IsTrue(false);
}
}
}
我看到的输出是:
看起来它甚至没有运行(看不到Hello world
任何地方),但我得到了及格分数。我究竟做错了什么?
解决方案
解决方案:将IEnumerable
with替换IEnumerator
为标记方法中的返回类型[UnityTest]
(非常感谢Nadav Etinzon指出)。现在一切都按预期运行。对我来说,为什么跑步者没有抱怨类型不匹配,而是选择假装一切运行顺利……我很好奇是否有人知道答案:)
推荐阅读
- amazon-web-services - 访问存储库时出现 AWS Code Deploy 403 错误
- excel - 取消选择单元格时 Excel VBA 运行宏
- python - python网页抓取IP被阻止
- javascript - 使用 1 个 JS 文件工作的多个表单的 JS 问题
- python-3.x - 如何将 Pyspark DF 转换为固定宽度并保存
- html - 如何在网格图库中每张照片的底部中间放置标题?
- sms - 可以使用一条 OTA 消息完成使用 SCP03 的连接参数更新吗?
- typescript - 使用 keyof Type 在 Type 上查找属性
- swift - 如何在 Userdefaults (SwiftUI) 中将新元素附加到数组
- mongodb - 无法将文档保存到 mongoDB