Итак, я подумал, что создал простой тест, чтобы подтвердить настройку моего тестирования mocha / chai для моих редукторов redux, но этот первоначальный тест не работает по причинам, которые я не могу понять. Все настроено в соответствии с документами babel. Ошибок, связанных с es6, нет.
Файловая структура
client
|-reducers
| |-auth_reducer.js
|
test
|-reducers
| |-auth.test.js
Тестовый сценарий mocha --compilers js:babel-register --require babel-polyfill --recursive
Редуктор аутентификации
const AUTH_USER = 'AUTH_USER';
const INITIAL_STATE = { error: '', message: '', content: '', authenticated: false, user: null };
export default function (state = INITIAL_STATE, action) {
switch (action.type) {
case AUTH_USER:
return { ...state, error: '', message: '', authenticated: true };
}
return state;
}
Проверка подлинности
import { expect } from 'chai';
import authReducer from '../../client/reducers/auth_reducer';
describe('auth_reducer', () => {
it('handles AUTH_USER', () => {
const initialState = {
error: '',
message: '',
content: '',
authenticated: false,
user: null
};
const action = {
type: 'AUTH_USER',
};
const nextState = authReducer(initialState, action);
expect(nextState).to.equal({
error: '',
message: '',
content: '',
authenticated: true,
user: null
});
});
});
Ошибка
auth_reducer
1) handles AUTH_USER
0 passing (38ms)
1 failing
1) auth_reducer handles AUTH_USER:
AssertionError: expected { Object (error, message, ...) } to equal { Object (error, message, ...) }
+ expected - actual
at Context.<anonymous> (test/reducers/auth.test.js:20:26)
npm ERR! Darwin 15.6.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "test"
npm ERR! node v6.7.0
npm ERR! npm v3.10.9
npm ERR! code ELIFECYCLE
npm ERR! [email protected] test: `mocha --compilers js:babel-register --require babel-polyfill --recursive`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] test script 'mocha --compilers js:babel-register --require babel-polyfill --recursive'.