问题
我们有一个相当复杂的应用程序,我们不希望在每个测试用例中都经历整个过程以到达特定的屏幕来测试它,或者我们只想跳转到特定的一个,其中一些状态存储在 redux 存储中。
我试过的
我做了多个加载特定屏幕的初始状态,所以我可以直接测试它,并且对于每次运行排毒测试我加载不同的 mocha.opts 来选择这部分测试用例并使用'react-native-config'所以我可以在每次运行中加载不同的状态,例如,为了加载屏幕,我将执行以下操作:
- 为具有我当前正在测试的屏幕的所有详细信息的 redux 商店创建 initialState。
- 通过在其中指定 -f 标志创建 mocha.opts 以仅运行此测试用例。
- 创建 .env.test.screenX 文件,它将告诉商店根据我选择的 ENVFILE 加载哪个初始状态。
- 为 detox 中的每个屏幕创建不同的配置,以便它可以通过 detox CLI 加载正确的 mocha opts。
- 每次我运行命令 ENVFILE=env.test.screenX react-native run-ios 所以项目将使用此配置构建,然后我可以运行 detox test -c 。
问题
我的方法非常复杂,需要大量设置和开销来为每个屏幕运行测试,所以我想知道是否有人有同样的问题,我该如何解决?一般来说,我该如何处理 detox 中的 react native 线程?