1

在我的 package.json 文件中设置 ava 测试。但是,当我尝试从命令行运行测试时得到这个

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


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

包.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 文件中读取

4

2 回答 2

0

通过测试和与我的朋友一起工作。发现错误与ava版本有关。 https://github.com/avajs/ava/issues/1903

从最新降级到 ava@1.0.0-beta.8 然后使用 babel 和 .babelrc 文件进行正常设置,这让我现在可以运行测试。

于 2019-10-01T21:21:08.147 回答
0

你还没有分享你的 AVA 版本,但它看起来确实找到了文件来测试它只是无法编译它们。确保您使用的是最新版本,并且错误消息可能不会那么含糊。

查看屏幕截图 AVA 被测试文件中的 JSX 语法窒息。您可以确保 AVA 在其 Babel 管道中应用正确的配置或完全禁用它,这样您就可以依赖babel-register.

读一读:https ://github.com/avajs/ava/blob/master/docs/recipes/babel.md

于 2019-09-29T13:04:59.410 回答