我需要在jest/酶测试中模拟导入的CSS文件:
Header.test.js
import React from 'react'
import { shallow } from 'enzyme'
import { Header } from './Header'
jest.mock('semantic-ui-css/semantic.min.css') // <-- no effect...
it('should render page title', () => {
const wrapper = shallow(<Header title='Test' />)
expect(wrapper.find('title').text()).toEqual('Test')
})我确实得到了import 'semantic-ui-css/semantic.min.css'行的错误:
Test suite failed to run
/Users/node_modules/semantic-ui-css/semantic.min.css:11
@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic&subset=latin);/*!
^
SyntaxError: Invalid or unexpected token我不需要为测试导入css文件。因此,我想在测试中模拟这个导入。我怎么能这么做?
我试着做jest.mock('semantic-ui-css/semantic.min.css'),但这不起作用。
这就是Header.js的样子:
Header.js
import Head from 'next/head'
import 'semantic-ui-css/semantic.min.css'
export const Header = props => {
return (
<Head>
<meta http-equiv='content-type' content='text/html;charset=UTF-8' />
<meta charset='utf-8' />
<title>{props.title}</title>
<link rel='icon' href='/static/favicon.ico' />
<link rel='stylesheet' href='/_next/static/style.css' />
</Head>
)
}发布于 2018-02-17 13:39:19
在jest配置中使用忽略样式包。
npm install --save-dev ignore-styles在您的jest.config.js文件中包括以下行
import register from 'ignore-styles';
register(['.css', '.sass', '.scss']);jest-css-模块是您可以尝试的另一个包。
https://stackoverflow.com/questions/48841785
复制相似问题