首页
学习
活动
专区
圈层
工具
发布

提高代码质量——使用Jest和Sinon给已有的代码添加单元测试

在开发一些第三方依赖的库时,我们也没有办法给第三方提供完整的代码质量报告。 现在,我们可以使用单元测试来提高自己的代码质量。...通过本文,你可以解决以下问题: Jest与Sinon.js是什么? 如何配置Jest与Sinon.js,从而编写单元测试? 如何解决进行单元测试中遇到的常见问题?...Jest配置 安装依赖包 需要使用Jest,首先你需要进行安装,执行以下命令: npm install jest -D 如果你的项目中存在.babelrc文件(使用了babel 6)时,不论你测试的代码是否通过...详细内容可以见Jest文档中的测试异步代码。...关于Jest是如何测试JavaScript代码以及Sinon是如何模拟XMLHttpRequest请求的,我们将会在后面几篇博客中给大家带来相关的源码解析,有兴趣的同学可以关注我,留意后续的文章。

4.9K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Jest中Mock网络请求

    Jest中Mock网络请求 最近需要将一个比较老的库修改为TS并进行单元测试,修改为TS还能会一点,单元测试纯粹是现学现卖了,初学Jest框架,觉得在单元测试中比较麻烦的就是测试网络请求,所以记录一下Mock.../demo/wrap-request"; jest.mock("..../demo/wrap-request"; jest.mock("....在这里就使用到了jest-axios-mock-server库,首先我们需要指定三个文件,分别对应每个单元测试文件启动前执行,Jest测试启动前执行,与Jest测试完成后执行的三个生命周期进行的操作,分别是...由于采用的是完全隔离的方案,所以我们想给测试的请求进行请求与响应数据的传输的时候,只有两个方案,要么在服务器启动的时候,也就是test/config/global-setup.js文件中将数据全部指定完成

    3.8K30

    【Python报错已解决】`TypeError`:`TypeError: string indices must be integers`

    ⛳️ 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。...想成为一名优质的博主那么这篇专栏你一定要去了解 引言 在Python编程中,TypeError是一个常见的错误类型,它表示在操作或函数调用中使用了错误的类型。...本文将探讨一个具体的TypeError:TypeError: string indices must be integers。我们将通过逐步推理分析,提出有针对性的解决方案。...1.2 报错分析: 错误信息可能如下: TypeError: string indices must be integers or slices, not str 这个错误通常发生在尝试使用非整数类型(...四 总结 当遇到TypeError: string indices must be integers错误时,通常意味着我们尝试使用非整数类型作为字符串的索引。

    96710

    【Python报错已解决】`TypeError`:`TypeError: not enough arguments for format string`

    ⛳️ 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。...想成为一名优质的博主那么这篇专栏你一定要去了解 引言 在Python编程中,TypeError是一个常见的错误类型,它表示在操作或函数调用中使用了错误的类型。...本文将探讨一个具体的TypeError:TypeError: not enough arguments for format string。我们将通过逐步推理分析,提出有针对性的解决方案。...尝试使用错误的参数数量进行字符串格式化 formatted_string = "The answer is %d" % 42 上面的代码试图使用一个格式化字符串来创建一个格式化的字符串,但由于提供的参数数量不正确,会导致TypeError...1.2 报错分析 错误信息可能如下: TypeError: not enough arguments for format string 这个错误通常发生在尝试使用旧式的字符串格式化方法(如%操作符)时

    36500

    前端单元测试之Jest

    前端的测试框架有很多:mocha, jasmine, ava, testcafe, jest,他们都有各自擅长的领域和特点,而我们采用的jest框架具有如下的一些特点: 适应性:Jest是模块化、可扩展和可配置的...安装 # yarn yarn add --dev jest # npm npm install --save-dev jest 我们编写一个被测试文件的sum.js,代码如下: function sum.../sum'); test('adds 1 + 2 to equal 3', () => { expect(sum(1, 2)).toBe(3); }); 内建断言库 “断言”通常是给程序开发人员自己使用...Jest框架内置了丰富的断言语句,详细的可以参考Jest 的Expect。...Mock函数通常会提供以下三种特性: 捕获函数调用情况; 设置函数返回值; 改变函数的内部实现; jest.fn() jest.fn()是创建Mock函数最简单的方式,如果没有定义函数内部的实现,jest.fn

    3.7K20

    用 Jest 进行 JavaScript 测试

    以下是典型测试流程的样子: 导入要测试的函数 给函数输入 定义期望输出 检查函数是否按照预期输出 就是这样。如果你按照这些术语思考,测试不再可怕:输入 - 预期输出 - 断言结果。...创建一个新文件夹并用以下命令初始化项目: mkdir getting-started-with-jest && cd $_ npm init -y 接下来安装Jest: npm i jest --save-dev...如果你想保持代码覆盖率始终处于活动状态,请在 package.json 中配置Jest,如下所示: "scripts": { "test": "jest" }, "jest": {...还有一种方法可以获得代码覆盖率的HTML报告的方法,它就像配置Jest一样: "scripts": { "test": "jest" }, "jest": { "collectCoverage...Jest 可以顺利地测试 React 应用(Jest 和 React 均来自 Facebook 的工程师)。Jest 也是 Create React App 中的默认测试器。

    3.6K30
    领券