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

Posted

技术标签:

【中文标题】排毒:请在您的环境构造函数中将两个参数添加到 super() 调用【英文标题】:Detox : Please add both arguments to super() call in your environment constructor 【发布时间】:2021-04-18 03:39:15 【问题描述】:

我按照自述文件指南在 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

【问题讨论】:

【参考方案1】:

Jestjest-circus 必须是同一版本。

【讨论】:

【参考方案2】:

您好像安装了 v18 的 Detox。

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

快速解决方案:

    如果你用新语法替换构造函数和超级

    类 CustomDetoxEnvironment 扩展 DetoxCircusEnvironment

    构造函数(配置) 超级(配置); 构造函数(配置,上下文) 超级(配置,上下文);

    您无法再打开应用程序以使用 detox.init() 运行测试。 您需要为此运行device.launchApp()(强制)

【讨论】:

以上是关于排毒:请在您的环境构造函数中将两个参数添加到 super() 调用的主要内容,如果未能解决你的问题,请参考以下文章

C#使用随机数据创建对象[重复]

Java在另一个[重复]中调用构造函数

Angular 4 - 请在您的应用程序中包含“BrowserAnimationsModule”或“NoopAnimationsModule”

业力测试:合成属性@transitionMessages。请在您的应用程序中包含“BrowserAnimationsModule”或“NoopAnimationsModule”

为啥 Typescript 在转译代码中将 .default() 添加到类构造函数中?

在 WooCommerce 中将列添加到管理订单列表