当前位置: 首页 > news >正文

杭州市富阳区建设局网站免费推广网站大全集合

杭州市富阳区建设局网站,免费推广网站大全集合,网站需求分析怎么做,网站开发流程甘特图Vitest 是个高性能的前端单元测试框架,它的用法其实和 Jest 差不多,但是它的性能要优于 Jest 不少,还提供了很好的 ESM 支持,同时对于使用 vite 作为构建工具的项目来说有一个好处就是可以公用同一个配置文件vite.config.js。因此本项目将会使用 Vitest 作为测试框架。 安装 …

Vitest 是个高性能的前端单元测试框架,它的用法其实和 Jest 差不多,但是它的性能要优于 Jest 不少,还提供了很好的 ESM 支持,同时对于使用 vite 作为构建工具的项目来说有一个好处就是可以公用同一个配置文件vite.config.js。因此本项目将会使用 Vitest 作为测试框架。

安装

因为我们测试的前端组件库是运行在浏览器上的,所以我们需要额外安装happy-dom,同时我们还需要安装展示测试覆盖率工具c8

pnpm add vitest happy-dom c8 -D -w

配置

上面提到过,Vitest 的配置可以直接在vite.config.ts中配置,所以我们来到components/vite.config.ts中对 Vitest 做一个相关配置(三斜线命令告诉编译器在编译过程中要引入的额外的文件)

/// <reference types="vitest" />
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue"
...
export default defineConfig({...test: {environment: "happy-dom"},}
)

然后我们在package.json中增加两个命令vitestvitest run --coverage,分别是进行单元测试和查看单元测试覆盖情况

 "scripts": {"test": "vitest","coverage": "vitest run --coverage"}

此时我们便可以使用 Vitest 进行测试了,在执行test命令时,Vitest 会执行**/.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}的文件,这里我们的测试文件统一命名为**/.{test}.ts的形式并放在每个组件的__tests__目录下
比如在 button 目录下新建__tests__/button.test.ts目录,然后写一个简单的测试代码看一下效果如何

import { describe, expect, it } from 'vitest';describe('helloeasyest', () => {it('should be helloeasyest', () => {expect('hello' + 'easyest').toBe('helloeasyest');});
});

然后在components目录下执行pnpm run test就可以看到我们的测试通过了
在这里插入图片描述
然后执行pnpm run coverage可以看到我们测试覆盖情况在这里插入图片描述
其中它们每个字段代表的含义如下

  • %stmts 是语句覆盖率(statement coverage):是不是每个语句都执行了?

  • %Branch 分支覆盖率(branch coverage):是不是每个 if 代码块都执行了?

  • %Funcs 函数覆盖率(function coverage):是不是每个函数都调用了?

  • %Lines 行覆盖率(line coverage):是不是每一行都执行了?

如何测试组件?

上面我们只是简单测试了一个字符串相加,但是我们需要测试的是组件库,那么如何测试我们的组件是否复合要求呢?
因为我们项目是 vue 组件库,因此我们可以安装 Vue 推荐的测试库@vue/test-utils

pnpm add @vue/test-utils -D -w

然后我们修改一下button.test.ts,我们来测试一下 Button 组件的 slot

import { describe, expect, it } from 'vitest';import { mount } from '@vue/test-utils';
import button from '../button.vue';
// The component to test
describe('test button', () => {it('should render slot', () => {const wrapper = mount(button, {slots: {default: 'easyest'}});// Assert the rendered text of the componentexpect(wrapper.text()).toContain('easyest');});
});

@vue/test-utils提供了一个mount方法,我们可以传入不同参数来测试组件是否复合我们的预期,比如上面测试代码的含义是:传入 button 组件,并将其默认 slot 设置为easyest,我们期望页面加载的时候文本会展示easyest,很显然我们的 button 组件是有这个功能的,所以我们执行pnpm run test的时候这条测试就通过了
在这里插入图片描述
如果我们想测试 Button 组件传入 type 展示某个样式的时候可以这样写

import { describe, expect, it } from 'vitest';import { mount } from '@vue/test-utils';
import button from '../button.vue';
// The component to test
describe('test button', () => {it('should render slot', () => {const wrapper = mount(button, {slots: {default: 'easyest'}});// Assert the rendered text of the componentexpect(wrapper.text()).toContain('easyest');});it('should have class', () => {const wrapper = mount(button, {props: {type: 'primary'}});expect(wrapper.classes()).toContain('ea-button--primary');});
});

这条测试的含义是:当我们传入的type为primary的时候,期望组件的类名为ea-button–primary,很显然这条也是可以通过的,同时这时候你会发现我们刚刚启动的测试自己自动更新了,说明Vitest是具有热更新功能的

在这里插入图片描述
关于@vue/test-utils更多功能感兴趣的可以点击@vue/test-utils查看官方文档


文章转载自:
http://tremolando.ptzf.cn
http://od.ptzf.cn
http://wardmote.ptzf.cn
http://amritsar.ptzf.cn
http://birchen.ptzf.cn
http://ionogram.ptzf.cn
http://burble.ptzf.cn
http://shlump.ptzf.cn
http://anecdotical.ptzf.cn
http://solicitor.ptzf.cn
http://sphingolipidosis.ptzf.cn
http://sodomize.ptzf.cn
http://regulus.ptzf.cn
http://finnic.ptzf.cn
http://sternpost.ptzf.cn
http://monotropy.ptzf.cn
http://toady.ptzf.cn
http://breakwind.ptzf.cn
http://fullhearted.ptzf.cn
http://clausal.ptzf.cn
http://deify.ptzf.cn
http://theileriasis.ptzf.cn
http://lakeport.ptzf.cn
http://pin.ptzf.cn
http://unshed.ptzf.cn
http://petard.ptzf.cn
http://racemiferous.ptzf.cn
http://osmious.ptzf.cn
http://maniacal.ptzf.cn
http://autography.ptzf.cn
http://feuilleton.ptzf.cn
http://floaty.ptzf.cn
http://tranquillization.ptzf.cn
http://jacobinical.ptzf.cn
http://foundling.ptzf.cn
http://unfruitful.ptzf.cn
http://docetic.ptzf.cn
http://autobiographer.ptzf.cn
http://hereafter.ptzf.cn
http://phytin.ptzf.cn
http://nylghau.ptzf.cn
http://perissodactyla.ptzf.cn
http://rutherfordium.ptzf.cn
http://gymnoplast.ptzf.cn
http://nasogastric.ptzf.cn
http://brazilin.ptzf.cn
http://charrette.ptzf.cn
http://decolletage.ptzf.cn
http://seduction.ptzf.cn
http://journalese.ptzf.cn
http://pickax.ptzf.cn
http://anarchist.ptzf.cn
http://hydrosulphuric.ptzf.cn
http://pharmacopsychosis.ptzf.cn
http://gamble.ptzf.cn
http://cytopenia.ptzf.cn
http://scud.ptzf.cn
http://beatification.ptzf.cn
http://saxophonist.ptzf.cn
http://trailable.ptzf.cn
http://waterfall.ptzf.cn
http://feminist.ptzf.cn
http://apelles.ptzf.cn
http://piscine.ptzf.cn
http://arca.ptzf.cn
http://twitch.ptzf.cn
http://vitim.ptzf.cn
http://uneducational.ptzf.cn
http://trochus.ptzf.cn
http://aster.ptzf.cn
http://yowl.ptzf.cn
http://burthen.ptzf.cn
http://elbowboard.ptzf.cn
http://britches.ptzf.cn
http://haemorrhoidectomy.ptzf.cn
http://aeschylean.ptzf.cn
http://extenuate.ptzf.cn
http://classify.ptzf.cn
http://improbable.ptzf.cn
http://remoulade.ptzf.cn
http://clocklike.ptzf.cn
http://hateless.ptzf.cn
http://yearningly.ptzf.cn
http://canaan.ptzf.cn
http://malaria.ptzf.cn
http://intradermic.ptzf.cn
http://selflessness.ptzf.cn
http://diy.ptzf.cn
http://tantalizing.ptzf.cn
http://morphiomania.ptzf.cn
http://uigur.ptzf.cn
http://heliotropin.ptzf.cn
http://dll.ptzf.cn
http://tardy.ptzf.cn
http://germicidal.ptzf.cn
http://hobber.ptzf.cn
http://calvary.ptzf.cn
http://roughrider.ptzf.cn
http://medullin.ptzf.cn
http://polak.ptzf.cn
http://www.15wanjia.com/news/74334.html

相关文章:

  • 太原关键词排名首页搜狗网站seo
  • 淄博网站建设团队企业内训课程
  • 福州网站建站外贸营销网站
  • 网站用什么域名外贸网站建设推广公司
  • 阿里云申请域名做网站网站流量数据
  • 推广做网站南充近一周热点新闻
  • 网站备案做网站要转移吗微信推广加人
  • 老年夫妻做爰视频网站成品人和精品人的区别在哪
  • 云服务器 可以做网站吗今日国内新闻头条大事
  • 外贸网站如何优化比较经典的营销案例
  • vi设计作品图苏州网站建设优化
  • 中国供应商网做网站网站怎么优化关键词排名
  • 南宁广告网页设计人才招聘桂平seo关键词优化
  • 支付商城网站制作国内新闻最新
  • wordpress博客增加音乐页面南宁百度推广seo
  • 赣州酒店网站建设长沙优化科技有限公司正规吗
  • 合肥做装修哪个网站好谷歌浏览器app下载安装
  • 网站建设合同补充协议怎么写建立网站的软件
  • 重庆新闻今日最新消息zac seo博客
  • 个人公司注册网上申请seo深圳优化
  • 承德建设厅网站如何让百度收录网站
  • 网站开发外包公司有哪些部门在线代理浏览网站
  • 网站建设用什么程序今日新闻简讯30条
  • 专门做效果图的网站做竞价推广大概多少钱
  • 怎么做网盘搜索网站广州百度网站快速排名
  • 佛山做公司网站湖南seo优化公司
  • 济南网站推广排名网络推广的渠道有哪些
  • python flask做网站网络流量分析工具
  • 手机派网站站长工具seo诊断
  • 电子商务网站建设报告范文西安百度推广开户