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

如何自动化测试 React Native 项目 (下篇) - 单元测试

接着上篇内容, 这篇文章会详细介绍在 Glow 我们如何写单元测试, 以及在 React Native 中各个模块单元测试详细实现方式。...Jest Snapshot Test特点: Jest 使用一个 test renderer 来生成出 React tree 序列化结构树。...在 React(以及 React Native ) 开发理念中, 开发者把重点放在描述要显示组件在不同输入时静态状态,然后交给React去处理UI更新。...可以想象成每次UI有变化时会重新生成这个组件并刷新, React会帮开发者处理具体怎么高效变化。 因此我们在测试组件时候, 也只要把重点放在测试我们如何描述这个组件。...WWW API测试 WWW API测试是指对server接口测试, 只要在测试代码中调用 React Native API模块方法并且验证返回结果正确性即可(可能需要 mock 一些 token

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

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

如果你需要类型,有两个主流可选项:微软 TypeScript 和 Facebook Flow(Facebook 在自己主要项目 React, React Native, Jest 中都有使用)...,Jest 成了今年测试框架类别中王者。...Jest 最初是 Facebook 因为 React 组件测试目的而开发,但最近几个月革命性版本变更(发布了 22 个大版本)使得它现在能同时用于测试前端、后端代码。...或者,如果需要更高度灵活自定义,你仍然能使用传统方式:用一个像 Bootstrap 或 Bulma 这样全局 CSS 样式,通过修改组件 className 属性来达到目的。...它让开发者自己挑选(标准CSS, Sass, Less, Stylus),再以文件方式导入组件中。

2.6K50

React Native自动化测试

我们期待你能帮助我们提高测试覆盖率,以及提供更多测试代码或是测试用例。 使用Jest测试 Jest是在命令行通过node来执行纯js测试工具。测试代码放置在__tests__目录下。...你可以在react-native源代码根目录中使用如下命令来运行现有的jest测试代码: npm test 我们建议你在贡献代码时候也添加自己测试代码。...单元测试 (Android) React Native使用Buck编译工具来运行测试。 单元测试部分直接在本地运行,不需要模拟器。...集成测试需要在模拟器/真机上运行,以验证模块组件以及React Native内核部分(比如bridge)在端对端测试中运作正常。.../scripts/run-android-local-integration-tests.sh 集成测试 (iOS) React Native提供了一些工具来简化跨原生与JS端组件集成测试

3K60

2020 年你应该知道 React

这些特性远远超出了 React,因为后端应用程序为您管理这些事情。 通常方法是使用自定义身份验证实现自己自定义后端应用程序。...至少,您可以使用 React-test-renderer 在 Jest 测试中渲染 React 组件。这已经足以用 jest 来执行所谓快照测试了。...最终,您会发现自己在使用 Enzyme 或 React Testing Library (这两个都在 Jest 测试环境中使用)来进行更详细测试功能集。...react-viro react-native-arkit 为 React 设计原型 如果您来自 UI/UX 背景,那么您可能希望使用一个工具为新 React 组件、布局或 UI/UX 概念进行快速原型设计...Node.js 服务 Ui 库: UI 组件库或者您自己 UI 组件 表单库: none 或者 Formik 或者 React Hook Form 测试库: Jest with React Testing

14.4K40

前端单元测试Jest

概述 关于前端单元测试好处自不必说,基础介绍和知识可以参考之前博客链接:React Native单元测试。在软件测试领域,测试主要分为:单元测试、集成测试和功能测试。...单元测试:在计算机编程中,单元测试(英语:Unit Testing)又称为模块测试, 是针对程序模块(软件设计最小单位)来进行正确性检验测试工作。程序单元是应用最小可测试部件。...前端测试框架有很多:mocha, jasmine, ava, testcafe, jest,他们都有各自擅长领域和特点,而我们采用jest框架具有如下一些特点: 适应性:Jest模块化、可扩展和可配置...] = ` 我是react组件 `; 如果被测试代码有正常更新,可以使用jest --updateSnapshot ”命令重新更新缓存文件。...附: 实例源码 参考: React Native单元测试 Jest测试官方文档

2.7K20

React Native单元测试

概述 所谓单元测试,就是对每个单元进行测试,一般针对是函数、类或单个组件,不涉及系统和集成,单元测试是软件测试基础测试,一个完备软件系统都会涉及到单元测试。...目前,Javascript测试工具很多,但是针对React测试主要使用是Facebook推出Jest框架,Jest是基于JasmineJavaScript测试框架,具有上手容易、快速、可靠特点...,是React.js默认单元测试框架。...相比其他测试框架,Jest具有如下一些特点: 适应性:Jest模块化、可扩展和可配置; 沙箱和快速:Jest虚拟化了JavaScript环境,能模拟浏览器,并且并行执行; 快照测试Jest能够对...npm install --save-dev jest //或者 yarn add --dev jest 如果你使用react-native init命令行方式来创建RN项目,且RN版本在0.38

86220

React团队是如何测试并发特性

这也为编写单元测试带来了一些难度。 本文来聊聊React团队如何测试并发特性。 遇到困境 主要有两个问题需要面对。 1. 如何表达渲染结果?...比如,下面是使用ReactDOM输出结果测试「无状态组件渲染结果是否符合预期」(测试框架是jest): it('should render stateless component', () =>...对于测试React内部运行机制」这样场景,掺杂了宿主环境相关信息显然会让测试用例编写起来更繁琐。 2. 如何测试并发环境?...通过这种方式,人为控制React并发更新速度,同时对框架代码0侵入。 除此之外,用于驱动并发更新Scheduler(调度器)模块,本身也有一个针对测试版本。...记录过程信息 脱离宿主环境,单独测试React内部运行流程使用React-Noop-Renderer 测试并发下场景,需要结合上述工具与jest-react一起使用 如果想深入学习下React中与测试相关技巧

1.3K20

beeshell:开源 React Native 组件

beeshell 组件使用 Jest 做为单元测试工具,自带断言、测试覆盖率工具,实现开箱即用。...Jest 使用 test 函数来描述一个测试用例,其中 toBe 边是一句断言。...使用 Jest 进行在快照测试,在 beeshell 中第一次对某个组件进行测试时,会在测试目录下创建一个 snapshots 文件夹,并将快照结果存放在该文件夹中。...开发与使用一致性 beeshell 组件使用 npm 包形式下载使用,下载成功后会放置在项目根目录 node_modules 目录,然后在项目中通过引入模块方式,引入 beeshell 组件使用...那我们如何开发组件库?如何保证组件开发与使用体验一致性? 首先,我们需要一个 demo 项目,这个项目是 beeshell 组件开发环境,是一个 React Native 应用。

1.8K10

那些年错过React组件单元测试(上)

技术方案 针对项目本身使用React + Dva + Antd技术栈,单元测试我们用Jest + Enzyme结合方式。...Jest 关于Jest,我们参考一下其Jest 官网[1],它是Facebook开源一个前端测试框架,主要用于ReactReact Native单元测试,已被集成在create-react-app...: automock: 告诉 Jest 所有的模块都自动从 mock 导入. clearMocks: 在每个测试前自动清理 mock 调用和实例 instance collectCoverage: 是否收集测试覆盖率信息...Mock 介绍jestmock之前,我们先来思考一个问题:为什么要使用mock函数? 在项目中,一个模块方法内常常会去调用另外一个模块方法。...总结 到这里,关于前端单元测试一些基础背景和Jest基础api就介绍完了,在下一篇文章中,我会结合项目中一个React组件来讲解如何组件单元测试。 ?

4.9K20

JavaScript测试教程–part 4:模拟 API 调用和模拟 React 组件交互

JavaScript测试教程-part 1:用 Jest 进行单元测试 2. JavaScript测试教程–part 2:引入 Enzyme 并测试 React 组件 3....JavaScript测试教程–part 4:模拟 API 调用和模拟 React 组件交互 今天,我们进一步测试 React 组件。它涉及模拟组件交互和模拟 API 调用。你将学到两种方法,开始吧!...('axios'),Jest测试组件中都用我们模拟代替了 axios。...从测试中返回 promise 是能够确保 Jest 等待其解决一种方法。 总结 在本文中,我们介绍了模拟模块,并将其用于伪造 API 调用。由于没有发出实际请求要求,我们测试可以更可靠、更快。...JavaScript测试教程-part 1:用 Jest 进行单元测试 2. JavaScript测试教程–part 2:引入 Enzyme 并测试 React 组件 3.

3.7K10

使用storybook管理React组件

本文已ReactUI组件为例,演示如何新建/集成Storybook到项目中,并对UI组件进行全方位管理,包括发布、demo文档、测试等。 1....测试UI组件 4.1 写测试用例原因 找到bug 新修改没有改变已有的接口和功能 将测试用例作为文档 4.2 测试结构 使用storyshots插件来实现,其核心是使用Jest,原理是每次生成一份DOM...,通过断言来测试UI组件属性,更多使用方法可以参考specifications插件使用。...4.4 测试样式 样式测试这里采用Puppeteer 和Jest来实现,其原理是利用Puppeteer无头chrome浏览器和storybookurl绑定组件特点,来渲染不同UI组件,再进行图片快照对比...写在最后 本文是作者学习storybook一些总结,总体感觉是接入成本不算高,但是模块包版本安装可能会有一些坑,但收获是给组件管理、文档和测试提供了一个一体化解决方案,还是很值得

3.3K20

JavaScript 测试系列实战(一):使用 Jest 和 Enzyme 测试 React 组件

本篇教程是 JavaScript 测试系列实战 第一篇教程,首先介绍了测试类型,然后主要通过一个 React 项目教会你如何使用 Jest 编写第一个测试,然后使用 Enzyme 对 React 组件进行浅层渲染...Jest 测试,我们来详细讲解一下: 我们先导入需要测试单元/模块 test 函数定义了一个测试用例,第一个参数就是用例描述,一般是一句完整描述,例如上面的 dividing 6 by 3 equals...Jest 测试文件中使用它。...配置 jest-enzyme 你应该还记得,在刚才测试代码中,我们还是使用Jest 自带 Matcher(toEqual)。...我们将在下一篇教程中讲解如何去更“深层”地去测试我们组件

2.9K10

JavaScript测试教程-part 2:引入 Enzyme 并测试 React 组件

JavaScript测试教程–part 4:模拟 API 调用和模拟 React 组件交互 在本教程第一篇中,我们简要介绍了单元测试基础。这次要更进一步,使用 Enzyme 库测试 React。...在第一个测试中,我们使用了 toContainReact 函数,这是一个自定义匹配器函数。它是 enzyme-matchers 库一部分。...要将其与 Jest 一起使用,请安装 jest-enzyme 包。 1npm install jest-enzyme 最后要做是将其导入 setupTests 文件中。...总结 本文中我们已经了解了使用 Enzyme 测试 React 组件基本知识。我们已经介绍了安装 Enzyme 并运行第一个简单测试使用渲染类型称为“浅渲染”。...之所以这样称呼,是因为它不渲染任何子组件。在编写单元测试时,它工作得很好。在本教程后续部分中,我将介绍其他类型渲染,并学习如何测试程序不同部分。它将包括快照测试和模拟数据之类技术。下次见!

1.4K50
领券