排毒 - 可能强制失败测试?

Detox - Possible to Force Fail Test?

有没有办法在 Detox 中强制测试失败?我没有在文档中找到任何说明可能是这种情况的内容。我正在比较隐藏在我的应用程序元素和屏幕中的两个 ID,如果它们不匹配,我希望测试失败。

if (element.id === screen.id) {
    do
}
else {
    *fail test*
}

it(`should invite User`, async () => {}

或者只是抛出一个错误那么简单?谢谢

Detox 本身将测试逻辑委托给 test runner

Detox delegates the actual JavaScript test-code execution to a dedicated test-runner. It supports the popular Jest and Mocha out of the box.

如果您使用 jest 作为基础 test runner,您可以按如下方式使用它的 fail 方法。

if (element.id === screen.id) {
    do
}
else {
    fail('test fails');
}

mocha中你可以使用下面的函数。

assert.fail("actual", "expected", "Error message");

我们也可以滥用 detox high level api 来达到同样的效果(但可读性较差)。

await waitFor(element(by.id(notVisible.id))).toBeVisible().withTimeout(5);