为什么mocha-webpack搜索组件位于测试文件夹而不是应用程序文件夹中?

时间:2018-09-05 12:48:24

标签: javascript unit-testing webpack mocha

我刚开始使用mocha作为我的单元测试库,但是当我运行npm run test时,我偶然发现了一个问题,它抛出了以下消息:

WEBPACK  Failed to compile with 1 error(s)

Error in ./test/my-app/test-TermConditionContent.spec.js

  Module not found: './components/UI/TermConditionContent' in '/home/user/my-project/dir/my-app/test/my-app'

mocha-webpack在其测试文件夹而不是dir中搜索

这是我的项目结构:

/home
 /my-project
  /dir
   /my-app
    /applications
      /my-sub-app-1
      /my-sub-app-2
    /test
      /my-sub-app-1
       /test-TermConditionContent.spec.js
      /my-sub-app-2
    package.json
    webpack.config-test.js

这是我在test中的package.json命令:

 "test": "mocha-webpack --require ignore-styles --require babel-core/register --require jsdom-global/register --webpack-config webpack.config-test.js 'test/my-app/test-*.spec.{jsx,js}'"

注意:

  • 我正在使用webpack和babel
  • 我已经安装了mocha-webpack
  • 它可以与常规的摩卡咖啡一起正常工作,但是我需要将测试文件的导入路径及其依赖项固定为其相对路径。这会花费很多时间

有人经历过吗,有人可以解释如何解决吗?

我怀疑这是错误的Webpack配置。

1 个答案:

答案 0 :(得分:0)

通过更改来解决:

var TermConditionContent = require('./components/UI/TermConditionContent')

var TermConditionContent = require('/components/UI/TermConditionContent')

并解析webpack配置中的路径。