我试图通过使用统一测试工具包来编写集成测试。
测试在编辑器中无问题地运行(在播放模式下)。
但是,当我试图从命令行(在批处理模式下)运行集成测试时,WaitForEndOfFrame协同器永远不会返回。
这是已知的问题还是我遗漏了什么?
我使用下面的命令来运行测试:
/Applications/Unity-5.3.1-f1/Unity.app/Contents/MacOS/Unity \
-batchmode \
-nographics \
-logfile \
-projectPath $(pwd) \
-executeMethod UnityTest.Batch.RunIntegrationTests \
-testscenes=TestScene \
-resultsFileDirectory=$(pwd)发布于 2019-08-23 23:59:28
在批处理模式下,统一不更新编辑器中的框架。从他们的文档
发布于 2016-03-01 22:09:58
如果您使用的是C#,它将无法工作。如果你使用JS,它会的。对于C#,您需要为此使用Coroutine,IEnumerable。
同样的屈服要求时间,WaitForSeconds等。他们不支持C#的屈服,因为Mono Unity3d只运行在MainThread上,不能屈服,因为你会得到应用程序没有响应。另一方面,当JS工作时,它并不是完全停止调用,而是停止自己的脚本。这就是为什么为C#添加invoke方法是为了延迟。
https://stackoverflow.com/questions/35716477
复制相似问题