У меня есть компонент React, который я пытаюсь написать несколько тестов. Я сломал его до самого простого теста.Как издеваться над субкомпонентами при модульном тестировании компонента React с Jest
jest.dontMock('../Overlay.react.js');
import React from 'react';
import ReactDOM from 'react-dom';
var Overlay = require('../Overlay.react.js'); // this is the culprit!
describe('Overlay',() => {
it('should work',() => {
expect(true).toEqual(true);
});
});
При требовании компонента, который я пытаюсь проверить, он, кажется, не издевается над своими подкомпонентами. В верхней части Overlay.react.js
, у меня есть следующий импорт: import LoadingSpinner from 'loadingIndicator/LoadingIndicatorSpin.react';
При запуске моего теста, я получаю следующее сообщение об ошибке:
- SyntaxError: /Users/dev/work/react-prototype/src/components/root/routes/components/subset1/components/Overlay.react.js: /Users/dev/work/react-prototype/src/components/root/routes/components/loadingIndicator/LoadingIndicatorSpin.react.js: /Users/dev/work/react-prototype/src/components/root/routes/components/loadingIndicator/sass/style.sass: Unexpected token ILLEGAL
Похоже, что вместо насмешливых компонентов, он будет вплоть до суба-компоненты sass file и бросать подгонку. Мое понимание было то, что Джест издевается над всем, кроме того, что вы говорите, не макет.
Каков правильный способ сформулировать эти тесты, чтобы подкомпоненты не приводили к взрыву при вводе во время теста?
Немного упрямый, но я просто задумываюсь о вас. Вы будете получать многие из этих типов ошибок с помощью шутки, кроме того, вы будете сталкиваться с проблемами производительности, когда начинаете тестировать что-то нетривиальное. Взгляните на некоторые открытые [вопросы] (https://github.com/facebook/jest/issues/116) шутки и оцените, будет ли использование мокко или жасмина лучшим выбором для тестирования фреймворка. – enjoylife
В противном случае посмотрите на [this] (http://stackoverflow.com/questions/27346687/reactjs-testing-components-containing-components) вопрос для получения дополнительных указаний. – enjoylife
@mattclemens Интересно. Я только что прочитал о тестировании компонентов реакции со шуткой, так что это было по умолчанию. Я немного прочитаю ... Вопрос, с которым вы связаны, связан с тем, что подкомпоненты переданы компоненту, который вы пытаетесь протестировать, а не импортируемому. – Jim