Unity测试调用Press函数报错‘当前上下文不存在’,求原因排查
解决Unity测试中Press函数未识别的问题
核心问题很明确:你调用的Press方法是InputTestFixture类的成员方法,而你的测试类MovementTest没有继承这个类,所以当前上下文找不到这个方法。
按照以下步骤修改即可解决:
让测试类继承InputTestFixture
修改你的类定义,加上继承关系:public class MovementTest : InputTestFixture你已经引入了
UnityEngine.InputSystem命名空间,这一步没问题。规范SetUp方法(可选但推荐)
InputTestFixture本身自带初始化逻辑,建议在你的SetUp方法里先调用基类的初始化,避免潜在问题:[SetUp] public override void Setup() { base.Setup(); // 初始化InputTestFixture的测试环境 SceneManager.LoadScene("TestPlayModeScene"); keyboard = InputSystem.AddDevice<Keyboard>(); Press(keyboard.rightArrowKey); }
补充说明:你参考的官方文档里的Press方法,本身就是InputTestFixture提供的测试工具方法,必须通过继承该类才能直接调用,之前的代码因为没有继承,所以编译器找不到这个方法。
内容的提问来源于stack exchange,提问作者lapassey
相关产品推荐
相关产品推荐

