вот какой-то контекст. Я работаю над проектом с использованием React и Immutable.js, написанных на ES6. Я использую Babel и webpack.Тесты Mocha с использованием Immutable.js терпят неудачу при работе с кармой
Я написал некоторые модульные тесты с использованием Mocha, Chai и jsdom, чтобы их можно было выполнить за пределами браузера.
Проблема в том, что некоторые компоненты используют такие вещи, как требуемые изображения. Этот материал обрабатывается webpack через конкретный загрузчик.
Поэтому при запуске тестов в терминале они терпят неудачу из-за этих необработанных запросов.
Я нашел, как исправить это, используя Karma (оставляя возможность запуска тестов за пределами браузера) и компиляции источников перед запуском тестов, и сделайте так, чтобы конфигурация webpack просто игнорировала загрузчик изображений (используя нуль- погрузчик).
В этот момент тесты выполняются через Karma, но некоторые из них терпят неудачу, в то время как они проходят, когда они запускаются через терминал (я прокомментировал строки, где был требуемый материал, только для целей теста).
Испытание, которое терпит неудачу, связано с Immutable.js, что означает, что я пытаюсь проверить равенство двух неизменяемых объектов.
Вот Exemple теста:
it('handles SET_STATE',() => {
const initialState = Map();
const action = {
type : 'SET_STATE',
state : Map({
vote : Map({
pair : List.of('Trainspotting', '28 Days Later'),
tally : Map({ 'Trainspotting' : 1 })
})
})
};
const nextState = reducer(initialState, action);
expect(nextState).to.equal(fromJS({
vote: {
pair: ['Trainspotting', '28 Days Later'],
tally: { 'Trainspotting': 1 }
}
}));
});
Провал дает что-то вроде этого:
1) handles SET_STATE
reducer
AssertionError: expected { Object (size, _root, ...) } to equal { Object (size, _root, ...) }
at Context.<anonymous> (/Users/boris_louboff/Labs/VotingApp/voting-client/test/tests.bundle.js:36413:42 <- webpack:///test/reducer.spec.js:21:29)
Всех остальных тестов, которые не испытывая вещи, связанные с непреложным проезжают.
Если у кого-то есть представление о том, что может решить это, было бы здорово! Спасибо.
Хорошо, жаль об этом недостоверной информации ... Существует что-то я совсем забыл, о котором было работая с окружающей средой Node ... chai-immutable module !!! Это делало работу по оживлению! Я пытаюсь заставить его работать с версией Karma ... – websilone