首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

前端接入单元测试(Node+React)

Augular 的默认测试框架就是 Karma + Jasmine,Egg默认测试框架是Mocha,而 React 的默认测试框架是 Jest。...node测试框架因为egg内置Mocha,因此不额外引入jestJest 各种 React 应用推荐和使用。...Create React App 新建的项目就会默认配置 Jest,我们基本不用做太多改造,就可以直接使用。...jest.fn(); await fetch.fetchPostsList(mockFn); // 断言mockFn调用 expect(mockFn).toBeCalled();})测试快照用法...extend, helper等模块编写单元测试,特别是controller重要的路由需要做单元测试;控制台和其他React项目可以利用jest工具,针对方法、组件、模块去做单元测试,特别是组件,可以利用快照功能避免多次修改测试用例

3.2K30
您找到你想要的搜索结果了吗?
是的
没有找到

JavaScript 测试系列实战(三):使用 Mock 模拟模块并处理组件交互

打开 TodoList 的测试文件,首先在最前面通过 jest.mock 配置 axios 模块的 Mock(确保要在 import TodoList 之前),在 Mock 之后,无论在测试还是组件中使用的都将是...然后创建一个测试用例,检查 Mock 模块是否正确调用。...(); }); }); }); 测试模块中一个函数是否调用实际上是比较困难的,但是所幸 Jest 为我们提供了完整的支持。...首先通过 jest.spyOn,我们便可以监听一个函数的使用情况,然后使用配套的 toBeCalled Matcher 来判断该函数是否调用。整体代码十分简洁,同时也保持了很好的可读性。...我们测试的第一件事是检查修改输入值是否更改了我们的状态: 我们修改 app/components/TodoList.test.js 如下: import React from 'react'; import

4.8K20

前端测试体系建设与最佳实践总结

Augular 的默认测试框架就是 Karma + Jasmine,而 React 的默认测试框架是 Jest. Jest 各种 React 应用推荐和使用。...Create React App 新建的项目就会默认配置 Jest,我们基本不用做太多改造,就可以直接使用。...、afterEach),减少测试代码数量,避免无用功能 测试、功能开发相结合,有利于设计和代码重构 编写说明 未来的项目都是基于 Talos 生成,其实也就是使用了 Create-React-App...Create-React-App 默认会安装这个包。 // store/asyncActions/shop.js import { loadShopInfoAction } from '.....我们的测试点在加菜和减菜按钮的事件是否正确触发,当数量为 0 时,减号按钮和数量是否展示,数量不为 0 时,展示是否正确。

5.3K30

2020 年你应该知道的 React

React 社区的现状是通过 Facebook 的 create-react-app(CRA)。它提供了一个零配置的设置,并给你一个开箱即用并且简单的启动和运行的 React 应用程序。...建议: create-react-app for React beginners/advanced Gatsby.js for static websites in React Next.js for...CSS Modules 受到 create-react-app 的支持,并为您提供了将 CSS 封装到模块中的方法。这样,它就不会意外地泄漏到其他人的样式中。...至少,您可以使用 React-test-renderer 在 Jest 测试中渲染 React 组件。这已经足以用 jest 来执行所谓的快照测试了。...小型应用程式 样板: create-react-app 样式库: basic CSS and inline style 异步请求: fetch or axios 代码风格: 无 类型检查: 无 状态管理

14.4K40

【前端必看】2017 年 JavaScript 全面崛起大运势

在2016年 Create React App 提供了一些优秀的预置和包,解决了初始化 React 应用时先要进行繁琐复杂的配置问题。...作为 Create React App 的一个成功案例,我们可以看 StackBlitz,这是一个在线 IDE,通过 Create React App,让你可以在数秒内从浏览器中创建一个应用。...目前有许多项目使用了它,包括今年最流行的两个项目:Create React App 和 Gatsby。...Jest 最初是 Facebook 因为 React 组件测试目的而开发的,但最近几个月革命性的版本变更(发布了 22 个大版本)使得它现在能同时用于测试前端、后端代码。...相较于 Jest,AVA 更侧重于并行测试上的速度,更轻量,也更接近测试标准,语法上与测试框架 Tape 接近。

2.6K50

单元测试

交互),推荐单测之前已评审过测试用例 公共类 公共组件 公共方法 公共自定义hook 需求功能类 组件的Props(组件的入参是否在正确的场景或时机正确的使用或调用) Render 交互(基于用户的交互判断关键节点的流程是否在正确的时机正确执行...) 需提前了解的内容 Jest测试框架:https://jestjs.io/zh-Hans/docs/getting-started Testing Library React 测试工具库:https:...@testing-library/react-hooks 是一个用于测试 React Hooks 的工具库。它提供了一组用于编写可靠和可维护的测试的实用函数和工具。.../react'; import React from 'react'; import '@testing-library/jest-dom'; import FormCard from '....是没有 jest 这些类型的,所以会报以下错误: import axios from 'axios'; import Users from '.

17810

年轻时,我不写单元测试

在一个多人协作的大型项目中,我们在开发的过程中可能经常会面临到这样的问题: 哎,这次我没有改动到这里啊,这怎么会有bug呢 哎,怎么新加了个功能原来的功能受影响了呢 哎,这里的样式为什么乱掉了 当我们提出这些...,关于不同测试框架的重点,这篇文章就不详细展开了,最终结合我们的项目,最终采用了facebook的jest+enzyme。...重点将展开以下两种react组件类型测试。 展示型组件测试 展示型组件测试,意思就是要确保每一次的修改都是符合预期的,这里笔者要着重介绍下jest框架里面的snapshot功能。...一开始我觉得单元测试很鸡肋的原因也是没有深入了解它,这次发现就算是和业务结合很紧密的组件,也能够模拟正常的操作,这里就贴一个和redux结合的组件来举例 import React from 'react...redux,axios库。

85120

React 设计模式 0x8:测试

有两种方法可以实现这一点,包括以下内容: 功能测试 渲染测试 # 功能测试 功能测试是一种测试,用于验证函数按预期工作,这个测试通常根据测试的函数的预期结果进行断言。...# 渲染测试 渲染测试是一种测试,用于验证您的组件是否正确渲染。 # 使用 Jest 进行功能测试 Jest测试 React 应用程序时非常流行的测试库。...初始化测试项目: npx create-react-app testing-with-jest cd testing-with-jest npm install --save-dev jest 测试文件一般以...模拟函数 使用 模拟函数 来侦测(查看)我们的函数调用的情况,或者使用它来测试单个函数或整个模块。...# React 测试最佳实践 对每个组件编写测试 为每个组件编写测试,以确保它们能够正确地渲染和响应 使用测试库 使用 JestReact Testing Library 等测试库,它们提供了专门用于测试

1.8K10

编写接口请求库单元测试与 E2E 测试的思考

} from 'axios' 2import { IRequestAdapter } from '~/interfaces/instance' 3const $http = axios.create(...这里用 axios 为默认适配器,那么就是在测试中 mock 掉 axios 的请求方法(axios.get, axios.post, ...)因为 axios 的逻辑你是不需要关心也不需要测试的。...E2E 就是去测试 adaptor 了,因为上面单测除了 adaptor 没测。 我已 Express 、 Jest 为例。我的想法是直接用 Express 托管一系列接口。...当然不是手动去启动一个服务,而是 Express 直接跑在 Jest 测试中。 首先写一个方法,起一个 Express 实例。...因为固定端口在 Jest 并行测试中容易被占用。 测试用例也比较好写,只要按照传统前后端接口请求去写就可以了。

1K40
领券