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

问题描述 投票:2回答:2

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

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

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

c# .net unit-testing unity3d logging
2个回答
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
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.