我有一个简单的Unity单元测试,它在更新框架后检查我的CameraController MonoBehaviour移动位置:
[UnityTest]
public IEnumerator AfterOneFrame_CameraMovesRight()
{
var cameraController = new GameObject().AddComponent<CameraController>();
yield return null;
Assert.That(cameraController.transform.position.x, Is.EqualTo(5));
}
但这失败了,创建了CameraController实例,但从未执行过Update()函数。
根据文档,yield return null;
应该导致这种情况发生吗?
运行场景时,摄像机向右滚动(一次滚动5个),因此CameraController的Update()函数是正确的,只是在测试过程中没有被调用。
(这是一个EditMode测试)