Ava不知道从测试中使用的源文件导入.jsx依赖项

时间:2017-06-07 13:35:56

标签: javascript jsx ava

我的package.json中有以下ava配置:

{
"ava": {
    "require": [
      "./tests/helpers/setup-browser-env.js",
      "./tests/helpers/module-stubber.js",
      "babel-register"
    ],
    "babel": {
      "presets": [
        "es2015",
        "stage-0",
        "react"
      ]
    },
    "failFast": true,
    "verbose": false,
    "no-cache": false,
    "concurrency": 5
  }
}

我有以下项目结构:

src
  index.jsx
  components
      input.jsx
tests
  index.test.js

index.jsx

import Input from './components/input';

console.log(Input);

input.jsx

import react from 'react';

export default () => <input></input>;

input.test.js

import app from '../src';
// ...

问题是ava能够转换我的src/index.jsx文件,但它没有转换input.jsx而且我正在查看我的控制台中记录的空对象。它仅在我使用.jsx扩展名导入组件时才有效:导入来自&#39; ./ component / input.jsx 的输入。我无法在不指定扩展名的情况下使其工作。

AVA可以吗?在Webpack中,它是一个处理这些模式的简单配置。

查看配置部分下的ava文档:https://github.com/avajs/ava#configuration我无法看到任何可以帮助我的字段。 (配置字段似乎也不是很详细)。

有什么想法吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

babel-register负责要求input.jsx,而不是AVA。令人惊讶的是,从../src导入有效,但导入input却没有。我虽然没有给你答案。