Как шпионить вызов экспортированной функции в JavaScript с помощью sinon - PullRequest
0 голосов
/ 05 мая 2018

Вот реальный код, который я пытаюсь смоделировать

import {combineReducers} from 'redux'

import user from '../user'

export default combineReducers({
    user
})

Я бы хотел настроить тест так, чтобы:

describe('API Reducer', () => {
    it('calls combineReducers om modules', function() {
        const combinedReducerSpy = sinon.spy(...) // <-- UNKNOWN
        sinon.assert.calledWith(combinedReducerSpy, {user})
    });
});

1 Ответ

0 голосов
/ 11 мая 2018

Я написал сообщение в блоге с моим ответом. Спасибо за помощь!

Сегодня я написал модульный тест JavaScript ... Функция временного импорта

// reducers.js
import {combineReducers} from 'redux'
import widget from './widget'
export default combineReducers({
    widget
})

// reducers.test.js
import redux from 'redux'
import widget from './widget'

describe('Use jest', () => {
    afterEach(() => {
        jest.resetModules()
    });

    test('first test', () => {
        jest.doMock('redux');

        require('./reducers');
        let {combineReducers} = require('redux');

        expect(combineReducers).toBeCalledWith({"widget": widget})
    });
});
...