2016-08-24 2 views
0

Я в странном состоянии для файла (я использую Jest/React/Flux/Webpack) ... вот тестовый файл.Jest mocking не работает для определенного файла

jest.unmock('../dashboard'); 

import CommonUtils from "../utils/CommonUtils"; 

describe('Dashboard Page',() => { 
    it('creates',() => { 
     ... 
    }); 
}); 

Когда я запускаю тест, выдается ошибка:

● Runtime Error 
    - TypeError: (0 , _shouldUpdate2.default) is not a function 
     ... 
     at Object.<anonymous> (src\main\js\components\App.js:3:38) 
     at Object.<anonymous> (src\main\js\utils\CommonUtils.js:4:38) 
     at Object.<anonymous> (src\test\js\dashboard-test.js:3:46) 

Здесь CommonUtils явно не издевались. В моих других файлах автомакет работает нормально.

Если добавить в начале тестового файла:

jest.mock('../utils/CommonUtils'); 

же предыдущая ошибка ... Однако, если добавить это:

jest.mock('../utils/CommonUtils',() => { 
    return {someFunc: jest.fn()}; 
}); 

CommonUtils теперь издевались, но я не могу сравните макет с someFunc, так как он всегда воссоздан ... и я не могу создать переменную снаружи

var a = {someFunc: jest.fn()}; 
jest.mock('../utils/CommonUtils',() => { 
    return a; 
}); 

Jest не позволяет!

+0

Вы пытаетесь протестировать 'someFunc' для вызова с чем-то? вы можете показать свой код – grgmo

+0

Наконец-то я отключил автомат, это было слишком сложно. Благодаря! –

ответ

0

Наконец-то я обновил Jest и отключил автомакет. Это не является убедительным, но не более воспроизводимым.

Смежные вопросы