我有类似的内容(基于https://github.com/airbnb/enzyme/tree/master/packages/enzyme-example-mocha)...
Foo.css
.test{
display: flex;
}
Foo.jsx
import React from 'react';
import "./Foo.css"
const Foo = () => <div className="foo" />;
export default Foo;
Foo.spec.jsx
import { expect } from 'chai';
import Foo from './Foo';
import React from 'react';
import { shallow, configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
configure({ adapter: new Adapter() });
describe('A suite', () => {
it('contains spec with an expectation', () => {
expect(shallow(<Foo />).contains(<div className="foo" />)).to.equal(true);
});
});
当我跑步时我得到
(function (exports, require, module, __filename, __dirname) { .test{
^
SyntaxError: Unexpected token .
我运行的某些测试取决于显示的样式。我可以使用该类,但我希望使用实际的样式值。这可能吗?我知道我可以忽略这些导入或创建命名的导入,但是现在这些解决方案将无法工作。
如果我注释掉CSS导入,则它似乎可以运行测试,但由于样式不符合预期而失败。