before() 和 beforeAll() 挂钩在以 Jest 作为断言库的 WebdriverIO-Mocha 框架中未被识别

before() and beforeAll() hooks are not getting recognised in WebdriverIO-Mocha framework having Jest as assertion library

before() 和 beforeAll() 在以 Jest 作为断言库的 WebdriverIO-Mocha 框架中未被识别。

对于 ReactNative 项目,我们正在使用 webdriver.IO+mocha 构建 UI 自动化。由于它的 ReactNative,所以主要项目代码库已经在项目中内置了一个广泛的 Jest 库。

依赖关系:

"jest": "23.6.0",
"jest-junit": "^5.2.0",
"jest-matchers": "^20.0.3",
"jest-transform-stub": "^1.0.0",
"wdio-mocha-framework": "^0.6.4",
"wdio-screenshots-cleanup-service": "0.0.7",
"wdio-spec-reporter": "^0.1.4",
"wdio-visual-regression-service": "^0.9.0",
"webdriverio": "^4.12.0"

我遇到错误:

ERROR: beforeAll is not defined

另外,无法同时使用Mocha的before()函数。 令人惊讶的是,编辑器识别出了 beforeEach()

如何解决这个问题,以便我可以开始使用钩子,例如 - before()、beforeAll() 等

您正在尝试使用 Jest 风格的挂钩,但您仍然 运行 通过 Mocha。

使用 beforebeforeEachafterEachafter(摩卡风格的)。

您仍然可以将 Jest 用于您的断言(假设您正确加载它们),但您不能使用它们的钩子样式。