如果错误记录在脚本中,PlayMode 测试默认停止

Ale*_*dru 5 .net c# logging unit-testing unity-game-engine

根据经验,如果在脚本调用Debug.LogError.

这对我来说是个问题,因为我希望 PlayMode 测试仅在断言失败时停止。

如果记录了错误,有没有办法告诉 Unity 不要停止当前的 PlayMode 测试?

Pro*_*mer 9

在控制台选项卡上禁用错误暂停。这应该可以防止Debug.LogError暂停您的游戏。

在此处输入图片说明


如果此测试未在编辑器中完成,则它将失败。为了防止这种情况,请立即调用LogAssert.ExpectafterDebug.LogError以防止 Unity 在调用时停止或测试失败Debug.LogError

Debug.LogError("Your Error");

LogAssert.Expect(LogType.Error, "Your Error");
Run Code Online (Sandbox Code Playgroud)

编辑

Unity 2017及更高版本中,您现在可以LogAssert.ignoreFailingMessages通过将其设置为 true 来实现这一点。对于较旧的 Unity 版本,您仍然可以使用上面的答案。

LogAssert.ignoreFailingMessages = true;
Run Code Online (Sandbox Code Playgroud)