我正在尝试将jest单元测试添加到我的新react-redux项目中。我已经创建了我的第一个测试文件来测试我的一个容器,例如:
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'
并且在actions.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)
我认为开玩笑的一切都是一切都被嘲笑了。如何将actions / index.js与其导入一起初始化?
答案 0 :(得分:0)
您需要使用axios
来模拟jest.mock()
模块。如果您仍然需要帮助,这是一个古老的问题。我很乐意提供帮助。