У меня есть простой тест
import React from 'react';
import { shallow, mount, render } from 'enzyme';
import { CancelButton } from '../ClientApp/components/CancelButton';
describe('A suite', function() {
it('should render without throwing an error', function() {
expect(shallow(<CancelButton />).contains(<button className="btn btn-default"></button>)).toBe(true);
});
it('should be selectable by class "foo"', function() {
expect(shallow(<CancelButton />).contains(<button className="btn btn-default"></button>).toBe(true);
expect(shallow(<CancelButton />).is('.btn')).toBe(true);
});
it('should mount in a full DOM', function() {
expect(mount(<CancelButton />).find('.btn').length).toBe(1);
});
});
Когда я запускаю тест, я получаю
FAIL ClientApp/reactTests/CancelButton.test.js
● Test suite failed to run
\ClientApp\reactTests\CancelButton.test.js:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import React from 'react';
^^^^^
SyntaxError: Unexpected identifier
at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/script_transformer.js:403:17)
Я назвал этот файл CancelButton.test.js и поместил его в папкуactTests.Похоже, что JSX, переданный в мелкую функцию, не распознается как JSX.Я получаю ошибки, связанные с синтаксисом «<» и «html: element». Я не уверен, как обойти это при написании теста? </p>