tutaj jest jakiś kontekst. Pracuję nad projektem przy użyciu React i Immutable.js, napisanym przy użyciu ES6. Używam Babel i webpacka.Próby mokka przy użyciu Immutable.js kończą się niepowodzeniem, gdy są uruchamiane z karmą
Napisałem kilka testów jednostkowych za pomocą Mocha, Chai i jsdom, aby mogły być wykonane poza przeglądarką.
Problem polega na tym, że niektóre elementy używają takich elementów, jak obrazy wymagające. Te rzeczy są obsługiwane przez pakiet sieci Web za pośrednictwem konkretnego programu ładującego.
Tak więc podczas przeprowadzania testów w terminalu, zawodzą one z powodu tych nieoczekiwanych wymagań.
Znalazłem, jak rozwiązać ten problem, używając Karmy (pozostawiając za sobą możliwość uruchamiania testów poza przeglądarką) i kompilując źródła przed uruchomieniem testów i tak, aby konfiguracja pakietu sieciowego ignorowała program ładujący obrazy (za pomocą polecenia null- ładowarka).
W tym momencie testy są przeprowadzane za pośrednictwem Karmy, ale niektóre z nich ulegają awarii podczas przechodzenia przez terminal (skomentowałem linie, w których było wymagane, tylko na potrzeby testu).
Test, który zawodzi, jest powiązany z Immutable.js, co oznacza, że próbuję przetestować równość dwóch niezmiennych obiektów.
Oto exemple testu:
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 }
}
}));
});
Porażka daje coś takiego:
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)
wszystkie inne testy, które nie testują rzeczy związanych z niezmiennymi mijają.
Jeśli ktoś ma pojęcie, co mogłoby rozwiązać ten problem, to byłoby wspaniale! Dziękuję.
Ok, przepraszam o tym mylących informacji ... Jest coś, co całkowicie zapomniał o której działa z środowiskiem Węzłów ... moduł niezmiennego chai !!! To było zadanie polegające na tym, aby oczekiwanie zadziałało !!! Próbuję działać z wersją Karma ... – websilone