зависимости модульного тестирования не издеваются

Я пытаюсь добавить модульное тестирование шутки в свой новый проект реакции-редукции. Я создал свой первый тестовый файл для проверки одного из моих контейнеров, например:

jest.unmock('../../src/containers/event-form')

import React from 'react'
import ReactDOM from 'react-dom'
import TestUtils from 'react-addons-test-utils'
import EventForm from '../../src/containers/event-form'

describe('EventForm', () => {
})

в файле event-form.js я импортирую функцию из действий, т.е.:

import { postEvent } from '../actions/index'

и в файле action.index.js я импортирую модуль axios:

import axios from 'axios'

Если я попытаюсь запустить тест в этот момент, я получаю ошибки из кода axios:

TypeError: Cannot set property 'defaults' of undefined
  at Object.<anonymous> (/export/www/soccer.hub.testui/node_modules/axios/lib/axios.js:83:16)
  at Object.<anonymous> (/export/www/soccer.hub.testui/node_modules/axios/index.js:1:137)
  at Object.<anonymous> (/export/www/soccer.hub.testui/src/actions/index.js:7:62)
  at Object.<anonymous> (/export/www/soccer.hub.testui/src/containers/event-form.js:4:40)
  at Object.<anonymous> (/export/www/soccer.hub.testui/__tests__/containers/event-form-test.js:6:44)
  at process._tickCallback (node.js:369:9)

Я думал, что все дело с шуткой в ​​том, что над всем издевались. Как получается, что действия/index.js инициализируются вместе с импортом?


person Cathal    schedule 16.05.2016    source источник
comment
Вы когда-нибудь разбирали это? У меня похожие проблемы с Jest и axios.   -  person jaybee    schedule 30.06.2016


Ответы (1)


Вам нужен фиктивный модуль axios с использованием jest.mock(). Это старый вопрос, если вам все еще нужна помощь. Рад помочь.

person slideshowp2    schedule 17.09.2019