排毒:请在您的环境构造函数中将两个参数添加到 super() 调用

Detox : Please add both arguments to super() call in your environment constructor

我按照自述文件指南在 React Native 项目中设置排毒。

detox build 工作正常。但是当我 运行 detox test

我收到这个错误

 FAIL  e2e/firstTest.e2e.jsrun...
  ● Test suite failed to run

    Please add both arguments to super() call in your environment constructor, e.g.:
    
     class CustomDetoxEnvironment extends DetoxCircusEnvironment {
    -  constructor(config) {
    -    super(config);
    +  constructor(config, context) {
    +    super(config, context);
    
    Cannot proceed further. Please fix your custom Detox environment class.
      
      at new CustomDetoxEnvironment (environment.js:9:5)
          at Generator.next (<anonymous>)

detox[227765] ERROR: [cli.js] Error: Command failed: jest --config e2e/config.json --testNamePattern '^((?!:ios:).)*$' --maxWorkers 1 e2e

Jestjest-circus 必须是同一版本。

您似乎安装了 v18 版的 Detox。

为了使其正常工作,您需要执行一些额外的步骤,这些步骤尚未包含在文档中,但可以在此处找到: Detox guide for migration to v18

快速解决方案:

  1. 如果用新语法替换构造函数和 super

    class CustomDetoxEnvironment 扩展了 DetoxCircusEnvironment {

    • 构造函数(配置){
    • 超级(配置);
    • 构造函数(配置,上下文){
    • 超级(配置,上下文);
  2. 您无法再使用 detox.init() 打开用于 运行 测试的应用程序。 为此你需要 运行 device.launchApp()