reactjs - 如何修复 axiosInstance.get ('url' 失败的 moxios 测试。then(...).finally 不是一个函数

标签 reactjs testing jestjs axios moxios

您好,我正在尝试借助 moxios 编写一个简单的测试用例 我在我的多个系统 (pc) 中设置了项目,并且代码与 git 同步。问题是只有一个系统的测试失败了。它在除一台以外的所有 pc 上工作。

我试过了 从“axios”导入 * 作为 axios;

还尝试清除 npm 缓存但没有用

describe('test suite', () => {
   let axiosInstance;
   beforeEach(() => {
      axiosInstance = axios.create();
      moxios.install(axiosInstance);
   });
   afterEach(() => {
      moxios.uninstall(axiosInstance);
   });
   it('should pass', (done) => {
      moxios.stubRequest('url', {
         status: 200,
         responseText: 'reducedAsxResponse'
      });
      axiosInstance.get('url')
         .then(res => assert(res.status === 200))
         .finally(done);
   });
});

您能告诉我哪里有问题吗? npm 或节点版本是否会影响测试用例,因为它对于不同的 pc 是不同的。 我在所有系统中安装了相同的依赖项,但在不同的时间点,所以可能是次要版本升级可能破坏了测试代码。 如果还有其他可能性,请帮助我。

最佳答案

好的,问题出在系统中的 Node 版本上。它是版本 8。当我将节点版本升级到 10 时,错误就消失了。我认为这个问题现在应该结束了

关于reactjs - 如何修复 axiosInstance.get ('url' 失败的 moxios 测试。then(...).finally 不是一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56841743/

相关文章:

android - 以编程方式单击 Android 模拟器上的按钮

angularjs - 使用 ES6 测试 Angular 1.x 组件不会使用 $componentController 加载绑定(bind)

javascript - 如何在 Jest 测试用例中默认模拟/考虑 javascript 原型(prototype)函数

node.js - 使用 Jest 模拟模块无法正常工作

javascript - Jest test.each 的类型不正确

reactjs - Typescript:超时的正确类型是什么?

reactjs - 当我从 Typescript 中的 createEntityAdapter 获取选择器时出现错误

javascript - 尝试按列实现切换排序。如果我参数化 sortUsers 函数,我会得到 "Maximum call stack size exceeded."

javascript - 需要帮助使导航栏显示来自 api 的图像

reactjs - 测试在 fireEvent.click in react-testing-library 之后是否仅在 radiogroup 组件中选择了 1 个单选按钮