Итак, я пытаюсь сделать небольшой тест для моего компонента Redux, и в этом тесте я отправляю только пустой объект obj {}
. И попробуйте сравнить его в моем тестовом файле, как expect(get).toEqual(obj)
. Что я получил в журнале ошибок:
$ yarn test
yarn run v1.5.1
warning ..\..\..\..\package.json: No license field
$ react-scripts test --env=jsdom
FAIL src\saga\saga.test.js
● get new action value
expect(received).toEqual(expected)
Expected value to equal:
{}
Received:
{}
Difference:
- Expected
+ Received
-Object {}
+ {}
at Object.<anonymous>.test (src/saga/saga.test.js:10:17)
at new Promise (<anonymous>)
at Promise.resolve.then.el (node_modules/p-map/index.js:46:16)
at <anonymous>
× получить новое значение действия (15 мс)
Мой test.js
файл:
import { put, call } from 'redux-saga/effects'
import { delay } from 'redux-saga'
import mySaga from './saga';
test('get new action value', () => {
const get = mySaga();
const data = 'hi1';
const obj = {};
expect(get).toEqual(obj);
});
Мой файл saga.js:
import { takeEvery, put, call, take } from 'redux-saga/effects';
import { delay } from 'redux-saga';
function* createSaga(action) {
try {
yield call(delay, 1000);
yield put({type: "ADD_DAT", data: action.data + 1});
} catch (e) {
console.log(e)
}
};
function* mySaga() {
yield takeEvery("ADD_DATA", createSaga);
};
export default mySaga;