【发布时间】:2021-09-27 20:36:03
【问题描述】:
我正在使用新的输入系统并调用 Unity 事件将输入传递给我的行为脚本。这是通过输入显示简单移动的示例代码
public class MovementBehaviour : MonoBehaviour
{
public void Move(InputAction.CallbackContext inputContext)
{
Vector2 movementDirection = inputContext.ReadValue<Vector2>();
transform.position += new Vector3(movementDirection.x, movementDirection.y, transform.position.z);
}
}
我想在我的单元测试中对其进行测试,但为此我必须传入一个新的
InputAction.CallbackContext。所以我的示例单元测试可能看起来像
[TestFixture]
public class MovementBehaviourTests
{
[Test]
public void ItShouldMove()
{
GameObject gameObject = new GameObject();
MovementBehaviour movementBehaviour = gameObject.AddComponent<MovementBehaviour>();
// movementBehaviour.Move(); // pass in Vector2.right
Assert.AreEqual(gameObject.transform.position, Vector3.right);
}
}
不幸的是,我无法弄清楚如何设置新实例以传入 Vector2.right 输入,以便测试输出。
https://docs.unity3d.com/Packages/c....InputSystem.InputAction.CallbackContext.html
我可以设置任何值属性吗?我必须执行任何操作吗?
【问题讨论】: