Unit testing 用axios请求调用函数是开玩笑的吗?

Unit testing 用axios请求调用函数是开玩笑的吗?,unit-testing,reactjs,jestjs,Unit Testing,Reactjs,Jestjs,当我尝试从jest调用包含axios请求的函数或模拟单击事件时,我会遇到以下错误: SyntaxError at XMLHttpRequest.open (/home/pravesh/senvion/v1.1/node_modules/jsdom/lib/jsdom/living/xmlhttprequest.js:486:15) at xhrAdapter (/home/pravesh/senvion/v1.1/node_modules/axios/lib/adapte

当我尝试从jest调用包含axios请求的函数或模拟单击事件时,我会遇到以下错误:

SyntaxError
      at XMLHttpRequest.open (/home/pravesh/senvion/v1.1/node_modules/jsdom/lib/jsdom/living/xmlhttprequest.js:486:15)
      at xhrAdapter (/home/pravesh/senvion/v1.1/node_modules/axios/lib/adapters/xhr.js:41:11)
      at executor (/home/pravesh/senvion/v1.1/node_modules/axios/lib/core/dispatchRequest.js:27:9)
      at dispatchRequest (/home/pravesh/senvion/v1.1/node_modules/axios/lib/core/dispatchRequest.js:11:10)
现在,我的调度程序是在axios请求的承诺(axios.then(*here*))中编写的。因此,我无法访问组件的更新状态。当我从存储访问状态时,我只获得初始化状态,因为axios给出错误,我无法更新状态


关于这个问题,我可以得到一些帮助吗?

您应该链接相关代码。很难判断发生了什么。关于您在描述中如何使用axios,您肯定是指axios(您的请求)。然后(这里是dispatcher),对吗?基本上不可能从jest测试文件中命中api请求。因此,当从包含ajax调用的jest调用外部函数时,它会给出上面的errorYes@daft300punk u r right。我的意思是只有你能模仿你所有的axios通话。Jest还可以测试承诺,包括决心和失败。记住要回报你的承诺。请参见此处的第四段-。带有-return user.getUserName(4)的一个。那么如果我不想模拟并点击实际请求,那么解决方案是什么?我知道不应该这样做,但有一种方法我可以做到吗?你应该链接相关的代码。很难判断发生了什么。关于您在描述中如何使用axios,您肯定是指axios(您的请求)。然后(这里是dispatcher),对吗?基本上不可能从jest测试文件中命中api请求。因此,当从包含ajax调用的jest调用外部函数时,它会给出上面的errorYes@daft300punk u r right。我的意思是只有你能模仿你所有的axios通话。Jest还可以测试承诺,包括决心和失败。记住要回报你的承诺。请参见此处的第四段-。带有-return user.getUserName(4)的一个。那么如果我不想模拟并点击实际请求,那么解决方案是什么?我知道这是不应该做的,但我有办法做到吗?