react-app 编写测试
单元测试(unit testing)指的是以软件的单元(unit)为单位,对软件进行测试。单元可以是一个函数,也可以是一个模块或组件。它的基本特征就是,只要输入不变,必定返回同样的输出。
单元测试的步骤如下
准备所有的测试条件
it('test a')
it('test b')
调用(触发)所要测试的函数
it('test a', ()=>{/*expect*/})
it('test b', ()=>{/*expect*/})
验证运行结果是否正确
npm t
还原被修改的记录
开发模式
TDD
先写好测试,然后再根据测试完成开发
BDD
针对行为写测试,软件应该怎样运行。
安装环境
yarn create react-app my-app
yarn run eject
yarn
yarn add enzyme enzyme-adapter-react-16 --dev
npm t 启动测试
浅层渲染 api
import React, { Component, Fragment } from 'react';
import logo from './logo.svg';
import './App.css';
class App extends Component {
state = {
v: 'welcome to react test.'
}
render() {
const { v } = this.state;
return <Fragment>
<h1>{v}</h1>
<button onClick={this.handleChangeV}>add</button>
</Fragment>
}
handleChangeV = e => {
this.setState({
v: 'ok'
})
}
}
export default App;
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import Enzyme, {shallow} from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
Enzyme.configure({adapter: new Adapter()})
const l = console.log
describe('<App /> 组件测试', () => { // 测试套件
let app;
beforeAll(() => {
app = shallow(< App />)
})
it('exists h1', () => { // 测试用例
// 断言组件中存在 h1元素
expect(app.exists('h1')).toBe(true) // 断言
});
it('only one h1', () => {
// 断言只存在一个 h1袁元素
expect(app.find('h1').length).toBe(1)
})
it('check h1 content', () => {
expect(app.find('h1').html()).toContain('welcome to react test.')
})
it('click change', () => {
app.find('button').simulate('click') // 模拟点击事件
expect(app.find('h1').html()).toContain('ok')
// expect(app.find('h1').html()).toContain('hello') Error
})
})
react-app 编写测试的更多相关文章
- 用React Native编写跨平台APP
用React Native编写跨平台APP React Native 是一个编写iOS与Android平台实时.原生组件渲染的应用程序的框架.它基于React,Facebook的JavaScript的 ...
- 深入 Create React App 核心概念
本文差点难产而死.因为总结的过程中,多次怀疑本文是对官方文档的直接翻译和简单诺列:同时官方文档很全面,全范围的介绍无疑加深了写作的心智负担.但在最终的梳理中,发现走出了一条与众不同的路,于是坚持分享出 ...
- 在 .NET Core 5 中集成 Create React app
翻译自 Camilo Reyes 2021年2月22日的文章 <Integrate Create React app with .NET Core 5> [1] Camilo Reyes ...
- APP敏捷测试,测试和开发并行!
测试和开发具有同等重要的作用,从一开始,测试和开发就是相向而行的.测试是开发团队的一支独立的.重要的支柱力量. 测试要具备独立性,独立分析业务需求,独立配置测试环境,独立编写测试脚本,独立开发测试工具 ...
- 深圳尚学堂:Android APP的测试流程
每一个新开发的软件都避免不了测试,我在这里总结了一些Android系统的移动端APP测试的一些测试流程,希望可以给大家一些帮助. 1. UI 测试App主要核ui与实际设计的效果图是否一致:交互方面的 ...
- Android App 压力测试 monkeyrunner
Android App 压力测试 第一部分 背景 1. 为什么要开展压力测试? 2. 什么时候开展压力测试?第二部分 理论 1. 手工测试场景 2. 自动测试创建 3. Monkey工具 4. ADB ...
- Android App常规测试内容
转自:https://mp.weixin.qq.com/s?__biz=MzU0NjcyNDg3Mw==&mid=2247484053&idx=1&sn=116fe8c7eed ...
- Create React App
Facebook开源了React前端框架(MIT Licence),也同时提供了React脚手架 - create-react-app. create-react-app遵循约定优于配置(Coc)的原 ...
- IIC驱动学习笔记,简单的TSC2007的IIC驱动编写,测试
IIC驱动学习笔记,简单的TSC2007的IIC驱动编写,测试 目的不是为了编写TSC2007驱动,是为了学习IIC驱动的编写,读一下TSC2007的ADC数据进行练习,, Linux主机驱动和外设驱 ...
- 【测试工具】这些APP实用测试工具,不知道你就out了!
本期,我将给大家介绍14款实用的测试工具,希望能够帮到大家!(建议收藏) UI自动化测试工具 1. uiautomator2 Github地址:https://github.com/openatx/u ...
随机推荐
- 项目总结—校园办公管理系统(SSM框架搭建)
文章目录 CSDN下载地址:校园管理系统 GIT下载地址:校园管理系统 学以致用,学习完SSM框架之后,独立完成一个小院办公管理系统,熟悉框架的开发流程,熟悉项目的开发流程,完成一个简单的校园办公管理 ...
- Docker (一、dockerfile-node.js)
1.基本说明 Dockfile是一个用于编写docker镜像生成过程的文件,其有特定的语法.在一个文件夹中,如果有一个名字为Dockfile的文件,其内容满足语法要求,在这个文件夹路径下执行命令:do ...
- 使用Spring MVC实现文件上传与下载
前段时间做毕业设计的时候,想要完成一个上传文件的功能,后来,虽然在自己本地搭建了一个ftp服务器,然后使用公司的工具完成了一个文档管理系统:但是还是没有找到自己想要的文件上传与下载的方式. 今天看到一 ...
- HttpClient之基本使用
1.HttpClient简介 http协议可以说是现在Internet上面最重要,使用最多的协议之一了,越来越多的java应用需要使用http协议来访问网络资源,特别是现在rest api的流行,Ht ...
- 网页开发(HTML 基础)
网页的标准是W3C,目前模式是HTML.CSS和JavaScript. HTML,全称"Hyper Text Markup Language(超文本标记语言)",简单来说,网页就是 ...
- 网络编程(socket简介)
socket简介 Python 提供了两个基本的 socket 模块. 第一个是 Socket,它提供了标准的 BSD Sockets API. 第二个是 SocketServer, 它提供了服务器中 ...
- mysql修改最大连接数
root@localhost ~]# nano /etc/my.cnf编辑my.cnf在[mysqld]中加入:set-variable=max_connections=1000 更改 MySQL 在 ...
- (26)Vim 2
1.Vim 查找文本 /abc 从光标所在位置向前查找字符串 abc /^abc 查找以 abc 为行首的行 /abc$ 查找以 abc 为行尾的行 ?abc 从光标所在为主向后查找字符串 abc n ...
- Python实现量子态采样
什么是量子态矢量? 在前面一篇量子系统模拟的博客中,我们介绍了使用python去模拟一个量子系统演化的过程.当我们尝试理解量子态和量子门操作时,可以通过其矩阵形式的运算来描述量子态演化的过程: \[\ ...
- xls与csv文件的区别
CSV是文本文件,用记事本就能打开.XLS 是二进制的文件只有用 EXCEL 才能打开:CSV 文件格式只能保存活动工作表中的单元格所显示的文本和数值.XLS 中所有的数据行和字符都将保存.数据列以逗 ...