javascript - 导入 SASS 文件的测试组件时出现语法错误

标签 javascript unit-testing reactjs jestjs enzyme

我正在尝试使用 Jest + Enzyme 测试我的 React 组件,但是当我的组件有 SASS文件 (scss),正在发生 SyntaxError

这是我的 SASS 文件内容:

.user-box {
  width: 50px;
  height: 50px;
}

我只是将其导入到我的组件中:

import React from 'react';

import './userBox.scss';

class MyComponent extends React.Component {
    render() {
        const style = {
            borderRadius: '99px'
        };
        return (
            <div>Hello World</div>
        );
    }
}

export default MyComponent;

我测试的错误信息如下:

Jest test error message

如果我注释掉 import './userBox.scss';,测试就可以了。

如何在导入样式时使用 Jest + ‵Enzyme` 测试 React 组件

最佳答案

如果你有Babel在您的堆栈中,您可以使用 babel-jest 以正确的方式解决此问题

只需执行 npm i --save-dev babel-jest 并在你的 jest 设置文件中添加:

"moduleNameMapper": {
  "^.+\\.(css|less|scss)$": "babel-jest"
}

关于javascript - 导入 SASS 文件的测试组件时出现语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41040269/

相关文章:

javascript - Firebase - 如何在不使用 AngularFire 的情况下获取对象列表

javascript - 无法从组件方法访问数据

javascript - 比较javascript中的两个数字范围

python-2.7 - 如何为 Falcon API python 执行单元测试

ios - 向下转换/子类 UIViewController 用于单元测试中的模拟

javascript - 如何将事件处理程序传递给 React 中的子组件

javascript - 使用 ngAnimate 作为依赖项时出现 MVC4 和 AngularJS 错误

java - 使用 Mockito 进行单元测试 - 忽略方法调用

javascript - React - 复选框输入未正确更新(由于浅合并)

javascript - React Js自定义 Accordion ,一次打开一项