TypeError: specificMockImpl.apply не является функцией - PullRequest
0 голосов
/ 06 февраля 2019

Попытка запустить модульный тест для следующего: использование REACT JS - здесь присутствует код Jest и энзим:

     componentDidMount () {
let requestSettings = this.props.getViewRequestSettings()
let linkerDefinition = requestSettings.catalog[0].resolvedtemplate[0]
if(linkerDefinition.includes('Universal')){
  let functionName = 
linkerDefinition.substr(0,linkerDefinition.indexOf('('));

Файлы модульного теста: у меня установлены все реквизиты, но я не уверен, чтоего правильное значение

TypeError: specificMockImpl.apply не является функцией

Вызов реквизита:

 // jest mock functions (mocks this.props.func)
const getViewRequestSettings =  jest.fn([{requestSettings :{catalog:[0], 
resolvedtemplate:[0]}}]);
// defining this.props
const baseProps = {
getViewRequestSettings,

ОШИБКА: const getViewRequestSettings = jest.fn ([{requestSettings: {каталог: [0], решенный шаблон: [0]}}]);НЕ УВЕРЕН, КАК ПРАВИЛЬНО НАСТРОИТЬ

1 Ответ

0 голосов
/ 06 февраля 2019

Передача параметра в jest.fn не возвращает это значение при вызове функции в вашем коде.Либо насмехайтесь над реализацией, либо имитируйте возвращаемое значение

Имитируйте реализацию

const extractDataFromXML =  jest.fn(() => ([{ applyodata:[0], liquidoption:[0]}]));

Пробное возвращаемое значение

const extractDataFromXML =  jest.fn();
extractDataFromXML.mockReturnValue([{ applyodata:[0], liquidoption:[0]}]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...