- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题
我们有一个非常复杂的应用程序,我们不希望在每个测试用例中都经过整个过程以到达特定屏幕来测试它,或者我们只想跳转到特定屏幕,并将某些状态存储在 redux 存储中。
我试过的
我做了多个加载特定屏幕的初始状态,所以我可以直接测试它,对于每次排毒测试我加载不同的 mocha.opts 来选择这部分测试用例并使用'react-native-config'所以我可以加载不同的状态在每次运行中,例如为了加载屏幕,我将执行以下操作:
最佳答案
我认为 detox 无法在运行时与 react native 线程通信并更改状态,所以我想到了一个使用模拟技术的小技巧,如 Leo Natan提到,它可能对你的情况有用
你可以用一个屏幕 (App.e2e.js) 模拟你的 App.js 文件,它有一些带有已知 testID 的按钮,每个按钮调度加载特定状态所需的所有 Action 来存储,你可以通过按下其中之一来启动每个测试套件beforeEach
中的按钮方法然后您可以在此之后开始正常的测试流程
例如:
如果你想测试一个很远的屏幕(当用户实际使用应用程序时需要点击太多次才能到达)并且需要身份验证,你可以有以下结构:
App.e2e.js 有 2 个按钮:
onAuthenticationSuccess(user, authToken)
之类的操作的身份验证this.navigation.navigate("screenName")
describe("Screen work as intended", () => {
beforeEach(async () => {
await device.reloadReactNative();
await element(by.id("authButtonID")).tap();
await element(by.id("navigateButtonID")).tap();
});
it("should do something", async () => {
//user is loaded in store
//current screen is the screen you want to test
});
});
关于react-native - 在 Detox 测试中加载 redux 存储初始状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49321032/
我正在开发一个需要能够平均三个数字的 Facebook 应用程序。但是,它总是返回 0 作为答案。这是我的代码: $y = 100; $n = 250; $m = 300; $number = ($y
我只是无法弄清楚这一点,也找不到任何对我来说有意义的类似问题。我的问题:我从数据库中提取记录,并在我的网页上以每个面板 12 条的倍数显示它们。因此,我需要知道有多少个面板可以使用 JavaScrip
我是一名优秀的程序员,十分优秀!