关于网络测试requests.spec.ts
来源:12-8 请求模块单元测试 jasmine-ajax + 测试代码编写
 
			躁动的胸大肌
2019-07-19
代码
 test('should reject on network errors', done => {
    const resolveSpy = jest.fn((res: AxiosResponse) => {
      return res
    })
    const rejectSpy = jest.fn((e: AxiosError) => {
      return e
    })
    jasmine.Ajax.uninstall()
    axios('/foo')
      .then(resolveSpy)
      .catch(rejectSpy)
      .then(next)
    function next(reason: AxiosResponse | AxiosError) {
      expect(resolveSpy).not.toHaveBeenCalled()
      expect(rejectSpy).toHaveBeenCalled()
      expect(reason instanceof Error).toBeTruthy()
      expect((reason as AxiosError).message).toBe('Network Error')
      expect(reason.request).toEqual(expect.any(XMLHttpRequest))
      jasmine.Ajax.install()
      done()
    }
  })
这里在jest中测试,使用的是原生的xmlhttpquest?,error类型为
[object DOMException]
而且readystatechange事件和error事件无法触发
写回答
	1回答
- 
				  ustbhuangyi 2019-07-19 你运行我源码的测试用例呢? 
 执行了 jasmine.Ajax.uninsall() 后,发送的就是真实的 XMLHTTPRequest 了012019-07-19
相似问题
