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

问题描述

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

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 的版本必须相同。

,

您似乎安装了 Detox v18。

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

快速解决方案:

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

    class CustomDetoxEnvironment 扩展了 DetoxCircusEnvironment {

    • 构造函数(配置){
    • super(config);
    • 构造函数(配置,上下文){
    • super(config,context);
  2. 您无法再打开应用程序以使用 detox.init() 运行测试。 您需要为此运行 device.launchApp()(强制)