繁体   English   中英

单元测试依赖项没有被嘲笑

[英]unit testing dependencies not being mocked

我正在尝试在我的新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'

在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似乎随着导入一起被初始化了?

您需要使用jest.mock()模拟axios模块。 如果您仍然需要帮助,这是一个古老的问题。 我很乐意提供帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM