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

时间:2017-10-17 20:52:19

标签: c# .net unit-testing unity3d logging

根据经验,如果在脚本调用Debug.LogError时以编程方式创建任何错误日志,我可以看到Unity停止运行PlayMode测试。

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

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

2 个答案:

答案 0 :(得分:3)

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

enter image description here

如果在编辑器中没有完成此测试,那么它将失败。为防止这种情况发生,请在LogAssert.Expect之后立即致电Debug.LogError,以防止在调用Debug.LogError时Unity停止或测试失败。

Debug.LogError("Your Error");

LogAssert.Expect(LogType.Error, "Your Error");

修改

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

LogAssert.ignoreFailingMessages = true;

答案 1 :(得分:1)

要允许所有错误消息,可以将LogAssert.ignoreFailingMessages设置为true。