小编Djo*_*ker的帖子

webpack在jest单元测试中需要非js内容

最近我将我的一个项目转换为webpack和babel.它由淘汰组件制成.

我在运行单元测试时遇到了问题.如果我在tests文件夹中有一个文件, 比如

import component from '../custom-options';

test('adds 1 + 2 to equal 3', () => {
  expect(3).toBe(3);
});
Run Code Online (Sandbox Code Playgroud)

问题是组件是一个需要排序的模块

var htmlString = require('./custom-options.html');
Run Code Online (Sandbox Code Playgroud)

当我尝试运行网站本身它运行正常,因为原始加载器配置为此需要.但是,当我运行jest测试输出时:

 custom-options.html:1
 ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){?<div id="custom-options-containe" class="mod--custom-options">
                                                                                          ^
SyntaxError: Unexpected token <

  at transformAndBuildScript (node_modules\jest-cli\node_modules\jest-runtime\build\transform.js:284:10)
  at custom-options.js:13:38
  at Object.<anonymous> (custom-options.js:93:3)
Run Code Online (Sandbox Code Playgroud)

知道为什么会这样吗?我认为开玩笑是错误的,但我已经尝试用Ava将其解决,结果是一样的.我开始认为这是个问题.

我正在用babel-jest预处理器开玩笑.

webpack jestjs babeljs babel-jest

4
推荐指数
1
解决办法
810
查看次数

标签 统计

babel-jest ×1

babeljs ×1

jestjs ×1

webpack ×1