通过在我的package.json文件中设置ava测试进行工作。
但是当我尝试从命令行运行测试时

following error:
    throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof moduleId}\``);




编辑:使用ava版本1.0.0-beta.8“

package.json

   "ava": {
    "cache": false,
    "files": [
      "../test/**/*"
    ],
    "sources": [
      "../renderer/components/**/*.{js, jsx}"
    ],
    "concurrency": 5,
    "failFast": true,
    "require": [
      [
        "babel-register",
        "babel-polyfill"
      ],
      "ignore-styles",
      "./test/helpers/setup-browser-env.js"
    ],
    "babel": {
      "extensions": [
        "js",
        "jsx"
      ]
    }
  }


更新:
使用.babelrc文件

{
    "presets": [
        "es2015",
        "stage-2",
        "@babel/preset-react"
    ],
    "plugins": [
        "espower",
        "transform-runtime"
    ]
}


当前试图获取ava来读取我的.babelrc文件

最佳答案

您尚未共享AVA版本,但看起来确实找到了要测试的文件,但无法编译它们。确保您使用的是最新版本,并且错误消息可能不太含糊。

查看屏幕快照,AVA阻塞了测试文件中的JSX语法。您可以确保AVA在其Babel管道中应用了正确的配置,也可以完全禁用它,以便可以依赖babel-register

阅读以下内容:https://github.com/avajs/ava/blob/master/docs/recipes/babel.md

关于javascript - 试图为next.js项目设置ava单元测试,但遇到两个与设置有关的错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58140083/

10-11 13:17