精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Vitest 3.2 正式發(fā)布!宣布重大更新!

開(kāi)發(fā) 前端
Vitest 3.2 版本著重改進(jìn)了瀏覽器模式和 TypeScript 支持。該版本還引入了一些有用的新方法、配置選項(xiàng),并廢棄了工作區(qū)配置,改為使用項(xiàng)目配置。

前言

大家好,我是林三心,用最通俗易懂的話講最難的知識(shí)點(diǎn)是我的座右銘,基礎(chǔ)是進(jìn)階的前提是我的初心!

Vitest 3.2 更新日志

Vitest 3.2 版本著重改進(jìn)了瀏覽器模式和 TypeScript 支持。該版本還引入了一些有用的新方法、配置選項(xiàng),并廢棄了工作區(qū)配置,改為使用項(xiàng)目配置。

工作區(qū)配置已廢棄

為了簡(jiǎn)化配置,團(tuán)隊(duì)決定廢棄單獨(dú)的 vitest.workspace 文件,推薦只在根配置中使用 projects 選項(xiàng)。這樣也簡(jiǎn)化了全局選項(xiàng)的配置(因?yàn)樵跊](méi)有根配置的情況下,你不需要猜測(cè)如何添加 reporters)。

此外,我們還決定廢棄 workspace 名稱,因?yàn)樗c如 PNPM 等工具提供的通過(guò)此選項(xiàng)支持的單體倉(cāng)庫(kù)功能沖突。Vitest 并不會(huì)以獨(dú)立的 CWD 運(yùn)行這些項(xiàng)目,而是將它們視為子 Vitest。這也為我們提供了更多空間來(lái)為單體倉(cāng)庫(kù)提供更好的解決方案,而不破壞現(xiàn)有功能。

該選項(xiàng)將在未來(lái)的主要版本中完全移除,將由 projects 取代。在此之前,若仍使用工作區(qū)功能,Vitest 會(huì)打印警告。

import { defineConfig } from "vitest/config";
export default defineConfig({
  test: {
    // "test.workspace" 已更名為 "test.projects"
    workspace: [ 
      projects: [ 
        { test: { name: "Unit" } },
        { test: { name: "Integration" } },
      ],
  },
});

注解 API

新的注解 API 允許你為任何測(cè)試添加自定義消息和附件。這些注解在 UI、HTML、Junit、Tap 和 GitHub Actions 報(bào)告器中可見(jiàn)。如果測(cè)試失敗,Vitest 還會(huì)在 CLI 中打印相關(guān)注解。

范圍化 Fixtures

test.extend 中的 fixtures 現(xiàn)在可以指定 scope 選項(xiàng):file 或 worker

const test = baseTest.extend({
  db: [
    async ({}, use) => {
      // ...設(shè)置
      await use(db)
      await db.close()
    },
    { scope: 'worker' },
  ],
})

file 級(jí)別的 fixture 類似于在文件頂部使用 beforeAll 和 afterAll,但如果該 fixture 在任何測(cè)試中未被使用,則不會(huì)被調(diào)用。

worker 級(jí)別的 fixture 每個(gè) worker 只會(huì)初始化一次,但需要注意,默認(rèn)情況下,Vitest 會(huì)為每個(gè)測(cè)試創(chuàng)建一個(gè) worker,所以你需要禁用隔離來(lái)充分利用這一特性。

自定義項(xiàng)目名稱顏色

你現(xiàn)在可以在使用項(xiàng)目時(shí)設(shè)置自定義顏色。

自定義瀏覽器定位器 API

內(nèi)置的定位器可能不足以滿足你應(yīng)用的需求。為了避免退回到 CSS 并失去 Vitest 通過(guò)其定位器 API 提供的重試保護(hù),我們現(xiàn)在建議使用新的 locators.extend API 擴(kuò)展定位器。

import { locators } from '@vitest/browser/context'

locators.extend({
  getByCommentsCount(count: number) {
    return `.comments :text("${count} comments")`
  },
})

這將返回一個(gè) Playwright 定位器字符串來(lái)構(gòu)建新的定位器。如果該方法返回字符串,則返回值將被轉(zhuǎn)換為定位器,因此你可以繼續(xù)鏈?zhǔn)秸{(diào)用:

await expect.element(page.getByCommentsCount(1)).toBeVisible()
await expect.element(
  page.getByRole('article', { name: 'Hello World' })
    .getByCommentsCount(1)
).toBeVisible()

該方法還可以訪問(wèn)當(dāng)前的定位器上下文,因此你可以在其中鏈?zhǔn)秸{(diào)用所有定位器方法:

import { locators } from '@vitest/browser/context'
import type { Locator } from '@vitest/browser/context'

locators.extend({
  getByCommentsCount(this: Locator, count: number) {
    return this.getByRole('comment')
      .and(this.getByText(`${count} comments`))
  },
})

顯式資源管理在vi.spyOnvi.fn中的應(yīng)用

在支持顯式資源管理的環(huán)境中,你可以使用 using 代替 const,在包含的代碼塊退出時(shí)自動(dòng)調(diào)用 mockRestore 恢復(fù)任何被模擬的函數(shù)。這對(duì)于被監(jiān)視的方法尤其有用:

it('calls console.log', () => {
  using spy = vi.spyOn(console, 'log').mockImplementation(() => {})
  debug('message')
  expect(spy).toHaveBeenCalled()
})

// console.log 在這里恢復(fù)

測(cè)試信號(hào) API

Vitest 現(xiàn)在向測(cè)試體提供了一個(gè) AbortSignal 對(duì)象。你可以使用它來(lái)停止任何支持此 Web API 的資源。

當(dāng)測(cè)試超時(shí)、另一個(gè)測(cè)試失敗并且 --bail 標(biāo)志設(shè)置為非零值,或者用戶在終端按下 Ctrl+C 時(shí),信號(hào)會(huì)被中止。

例如,您可以在測(cè)試中斷時(shí)停止 fetch 請(qǐng)求:

it('stop request when test times out', async ({ signal }) => {
  await fetch('/heavy-resource', { signal })
}, 2000)

覆蓋 V8 AST-aware remapping

Vitest 現(xiàn)在使用 ast-v8-to-istanbul 包(由 Vitest 的一位維護(hù)者 AriPerkkio 開(kāi)發(fā)),這將 V8 覆蓋報(bào)告與 Istanbul 對(duì)齊,但性能更優(yōu)!你可以通過(guò)設(shè)置 coverage.experimentalAstAwareRemapping 為 true 來(lái)啟用此特性。

我們計(jì)劃在下一個(gè)主要版本中將其作為默認(rèn) remapping 模式,并完全移除舊的 v8-to-istanbul

watchTriggerPatterns 選項(xiàng)

當(dāng)你編輯文件時(shí),Vitest 會(huì)智能地僅重新運(yùn)行導(dǎo)入該文件的測(cè)試。然而,Vitest 的靜態(tài)分析僅尊重靜態(tài)和動(dòng)態(tài)的導(dǎo)入語(yǔ)句。如果你在讀取文件或啟動(dòng)一個(gè)獨(dú)立的進(jìn)程時(shí),Vitest 將忽略與該文件相關(guān)的更改。

通過(guò) watchTriggerPatterns 選項(xiàng),你可以根據(jù)更改的文件配置哪些測(cè)試需要重新運(yùn)行。例如,當(dāng)模板更改時(shí),始終重新運(yùn)行郵件測(cè)試,可以添加如下觸發(fā)模式:

export default defineConfig({
  test: {
    watchTriggerPatterns: [
      {
        pattern: /^src\/templates\/(.*)\.(ts|html|txt)$/,
        testsToRun: (file, match) => {
          return `api/tests/mailers/${match[2]}.test.ts`
        },
      },
    ],
  },
})

新的多功能匹配器類型

Vitest 現(xiàn)在有一個(gè) Matchers 類型,你可以擴(kuò)展它以在一個(gè)地方為所有自定義匹配器添加類型支持。該類型影響以下所有用法:

  • expect().to*
  • expect.to*
  • expect.extend({ to* })

例如,為了使 toBeFoo 匹配器具有類型安全,你可以編寫(xiě)如下內(nèi)容:

import { expect } from'vitest'

interface CustomMatchers<R = unknown> {
toBeFoo: (arg: string) => R
}

declare module'vitest' {
  interface Matchers<T = any> extends CustomMatchers<T> {}
}

expect.extend({
  toBeFoo(actual, arg) {
    // ... 實(shí)現(xiàn)
    return {
      pass: true,
      message: () =>'',
    }
  }
})

expect('foo').toBeFoo('foo')
expect.toBeFoo('foo')

sequence.groupOrder

新的 sequence.groupOrder 選項(xiàng)控制在使用多個(gè)項(xiàng)目時(shí)項(xiàng)目運(yùn)行的順序。

具有相同 groupOrder 數(shù)字的項(xiàng)目將一起運(yùn)行,組的順序從最小到最大。如果不設(shè)置此選項(xiàng),所有項(xiàng)目將并行運(yùn)行。如果多個(gè)項(xiàng)目使用相同的組順序,它們將同時(shí)運(yùn)行。

考慮以下示例:

import { defineConfig } from'vitest/config'

exportdefault defineConfig({
test: {
    projects: [
      {
        test: {
          name: 'slow',
          sequence: {
            groupOrder: 0,
          },
        },
      },
      {
        test: {
          name: 'fast',
          sequence: {
            groupOrder: 0,
          },
        },
      },
      {
        test: {
          name: 'flaky',
          sequence: {
            groupOrder: 1,
          },
        },
      },
    ],
  },
})

這些項(xiàng)目中的測(cè)試將按以下順序運(yùn)行:

0. slow  |
          |> 一起運(yùn)行
 0. fast  |

 1. flaky |> 在 slow 和 fast 后單獨(dú)運(yùn)行

你可以復(fù)制這個(gè) Markdown 格式的內(nèi)容。

責(zé)任編輯:武曉燕 來(lái)源: 前端之神
相關(guān)推薦

2022-08-21 10:39:04

開(kāi)源Consul

2010-05-07 11:04:43

Hibernate

2022-09-21 13:44:59

TypeScript微軟

2012-01-05 09:38:59

Linux內(nèi)核3.2發(fā)布

2011-09-30 09:47:15

GNOME 3.2

2015-10-20 09:25:41

數(shù)據(jù)庫(kù)mysql

2013-04-10 13:52:14

2016-10-09 20:40:36

2011-05-20 15:00:15

MeeGo 1.2MeeGo英特爾

2020-11-20 16:22:45

Chrome谷歌隱私政策

2009-12-11 17:46:21

Visual Stud

2009-09-10 14:03:05

iPhone OS蘋(píng)果喬布斯

2018-03-08 18:19:24

微軟Win10人工智能

2025-06-03 10:05:01

ViteVue 3.6前端

2011-11-08 10:29:24

MozillaFirefox 8

2023-09-01 14:30:20

系統(tǒng)Reiserfs

2025-02-24 09:20:00

Pinia3.0Vue開(kāi)發(fā)

2020-04-23 16:18:41

谷歌Anthos混合云

2012-02-16 10:13:14

LibreOffice

2023-12-06 09:02:12

Vitest前端
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

夜久久久久久| 素人啪啪色综合| 成人精品免费网站| 91成人在线观看国产| 短视频在线观看| 超碰这里只有精品| 一区二区三区免费在线观看| 国产一区二区视频在线免费观看 | 成人免费一区二区三区| 日韩综合一区| 欧美精品一区二区三区蜜臀| 毛片av免费在线观看| av网站在线播放| 国产精品996| 欧美在线不卡区| 精品女人久久久| 猫咪成人在线观看| 91国产免费观看| 狠狠干视频网站| 欧美女v视频| 国产精品99久| 国产精品自拍偷拍| 日本视频www| 五月开心六月丁香综合色啪| 亚洲精品久久视频| www.国产福利| 美脚恋feet久草欧美| 一区二区三区在线视频播放| 日本亚洲导航| 蜜臀久久久久久999| 美国毛片一区二区三区| 9.1国产丝袜在线观看| 亚洲av鲁丝一区二区三区| 欧美精品一区二区久久| 亚洲精品狠狠操| 日本人妻一区二区三区| 亚洲爽爆av| 91官网在线观看| 亚洲 高清 成人 动漫| 1区2区在线观看| 国产精品午夜电影| 欧美一区二区三区四区在线观看地址| 成人精品在线播放| 国产精品亚洲专一区二区三区| 国产精品露脸自拍| 亚洲成人第一网站| 久久久噜噜噜| 青草成人免费视频| 国产成人愉拍精品久久| 亚洲激情女人| 久久久人成影片一区二区三区| 少妇高潮一区二区三区喷水| 精品国产1区| 亚洲久久久久久久久久| 国产吞精囗交久久久| 欧美黑人做爰爽爽爽| 亚洲福利影片在线| 精品久久久久久无码人妻| 亚洲国产高清在线观看| 91精品国产色综合久久ai换脸| 亚洲精品午夜在线观看| 国产精品久久久久久吹潮| 欧美在线免费观看亚洲| 国产真人无码作爱视频免费| 免费电影日韩网站| 色欧美片视频在线观看| 国产二区视频在线播放| 成人国产二区| 在线观看亚洲成人| 最新天堂中文在线| 91丨精品丨国产| 日韩一区二区三区三四区视频在线观看| 一起操在线视频| 欧美a级大片在线| 精品少妇一区二区三区在线视频| 国产黄色一区二区三区| 白嫩白嫩国产精品| 精品亚洲一区二区三区四区五区 | 亚洲欧美一二三区| 日韩av一区二区三区四区| 国产精品久久久久久久久| 中文在线资源天堂| 国产一区二区三区久久久| 99视频在线| 午夜国产在线观看| 国产女人aaa级久久久级 | 一区二区三区中文字幕| 国产午夜福利100集发布| 亚洲女同av| 欧美性videosxxxxx| 天天久久综合网| 超碰成人免费| 一区二区亚洲欧洲国产日韩| 日本黄色片免费观看| 伊人久久成人| 国产精品高潮呻吟久久av无限| 国产精品久久久久久久久久久久久久久久久久| 国产一区二区三区黄视频 | 日韩精品一区不卡| 久久se这里有精品| 国产嫩草一区二区三区在线观看 | 神马久久久久久| 久草视频在线免费看| 日韩精品一卡二卡三卡四卡无卡| 国产在线精品播放| 色婷婷av一区二区三区之e本道| 国产丝袜在线精品| 天堂8在线天堂资源bt| 欧美一级大片| 精品久久国产老人久久综合| 波多野吉衣中文字幕| 午夜精品久久| 国产成人在线一区二区| 亚洲高清视频在线播放| 欧美国产禁国产网站cc| 全黄性性激高免费视频| 青草综合视频| 亚洲男人的天堂在线播放| 久久久综合久久久| 美国十次了思思久久精品导航| 精品一区二区三区日本| 18videosex性欧美麻豆| 欧美视频一区二| 中文乱码人妻一区二区三区视频| 97精品视频在线看| 国产极品精品在线观看| 国精产品乱码一区一区三区四区| 国产精品三级av在线播放| 国产淫片免费看| 欧美一级片网址| 少妇久久久久久| 精品国产xxx| www.亚洲精品| 国产1区2区3区中文字幕| 日本久久一区| 中文字幕国产精品久久| 欧美一区二区三区网站| 91在线观看下载| 国产日韩欧美精品在线观看| 精品亚洲二区| 久久精品国产v日韩v亚洲| 最新中文字幕在线观看视频| 久久久蜜桃精品| 免费无码毛片一区二三区| 日韩成人久久| 久久国产精品久久久| 伊人网av在线| 欧美激情一区二区三区不卡| 欧美牲交a欧美牲交aⅴ免费真| 免费成人三级| 97超碰国产精品女人人人爽| 狠狠综合久久av一区二区| 亚洲一级不卡视频| 国产伦精品一区二区免费| 亚洲婷婷免费| 国产亚洲欧美另类一区二区三区| 韩国日本一区| 亚洲福利影片在线| 日本一区二区免费电影| 久久亚区不卡日本| 国产一级不卡毛片| 第一sis亚洲原创| 国产精品日日做人人爱| 日本三级视频在线观看| 欧美日韩黄色一区二区| 永久免费看片直接| 国产精品自拍av| 免费一级淫片aaa片毛片a级| 成人三级毛片| 欧美综合激情网| 欧美男男激情freegay| 欧美午夜免费电影| 久久一级免费视频| 国产一区二区三区黄视频 | 中文字幕无码人妻少妇免费| 国产精品入口66mio| 麻豆蜜桃91| 日本欧美一区| 久久这里有精品视频| 亚洲精品久久久久久久久久久久久久 | 91短视频版在线观看www免费| 欧美性高清videossexo| 婷婷激情四射网| 成人午夜看片网址| 成人午夜视频免费在线观看| 日韩一区电影| 国产福利久久| 香蕉成人av| 久久久国产精彩视频美女艺术照福利 | 成人在线网址| 日韩精品高清在线| 亚洲一区二区激情| 性做久久久久久免费观看| 亚洲激情视频小说| 国产精品一区一区三区| 青青艹视频在线| 91久久电影| 精品久久久三级| 亚洲国产综合在线观看| 韩剧1988免费观看全集| 欧美成人性生活视频| 精品国精品国产| 国产一级精品毛片| 亚洲国产视频a| 国产综合精品久久久久成人av| 国产乱国产乱300精品| 欧美日韩在线视频一区二区三区| 国产精品国产一区| 久久www免费人成精品| 视频91a欧美| 欧美一区二区色| 成人日日夜夜| 亚洲三级免费看| 高h震动喷水双性1v1| 欧美色成人综合| 日韩精品一区二区在线播放| 亚洲欧洲成人自拍| 黄瓜视频污在线观看| 国产成人精品一区二| 青青草精品视频在线观看| 99精品免费网| 欧洲金发美女大战黑人| 日韩精品一区二区三区免费观影 | 色88888久久久久久影院| 成人免费黄色网| 午夜无码国产理论在线| 97热精品视频官网| 色呦呦在线观看视频| 中文字幕不卡在线视频极品| 艳母动漫在线看| 欧美本精品男人aⅴ天堂| 在线观看视频中文字幕| 91久久精品网| 日韩伦理在线视频| 亚洲国产欧美在线| 精品国产乱码久久久久久鸭王1| 国产精品成人网| 波多野结衣一二三四区| 久久精子c满五个校花| 人体私拍套图hdxxxx| 国产成人综合亚洲网站| 人妻换人妻仑乱| 国产一区二区三区香蕉| 国产欧美激情视频| 久久99精品一区二区三区三区| 欧美成人黄色网址| 日韩av电影天堂| 亚洲三级视频网站| 日韩成人一级片| 999在线免费视频| 日韩黄色免费网站| 成人性做爰aaa片免费看不忠| 亚洲综合精品| 男女午夜激情视频| 久久综合九色| 欧美黄色一级片视频| 久久久精品午夜少妇| 成人三级视频在线播放| 日韩成人一区二区| 日本国产一级片| 国产综合久久久久久鬼色| 午夜激情视频网| 国产高清在线观看免费不卡| 韩国黄色一级片| 99视频一区二区| 男生裸体视频网站| 久久久亚洲国产美女国产盗摄| 亚洲成人网在线播放| 国产日韩欧美激情| 永久av免费网站| 亚洲一区二三区| 97免费在线观看视频| 日韩欧美aⅴ综合网站发布| 天天操天天爽天天干| 色吊一区二区三区| 中国黄色一级视频| 日韩一区二区三区高清免费看看| 狠狠人妻久久久久久综合麻豆| 日韩激情av在线免费观看| 国产在线观看高清视频| 超碰97人人做人人爱少妇| 天天干在线视频论坛| 91黑丝在线观看| 777午夜精品电影免费看| 91麻豆国产语对白在线观看| 8848成人影院| 欧美激情论坛| 午夜国产一区二区| 国产日韩欧美精品在线观看| 日韩激情一二三区| 日本黄色一级网站| 久久蜜臀中文字幕| 日本中文在线视频| 一本一本久久a久久精品综合麻豆| 在线观看av大片| 亚洲国产精品高清久久久| 国产h在线观看| 欧美激情精品久久久久久蜜臀| 国产精品专区免费| 亚洲japanese制服美女| 伊人春色精品| 法国空姐在线观看免费| 久久久久久久高潮| 亚洲精品乱码久久久久久蜜桃欧美| 国产婷婷色一区二区三区| 久久国产露脸精品国产| 欧美亚洲综合在线| 日韩中文字幕观看| 久久精品夜夜夜夜夜久久| 色吧亚洲日本| 91在线视频九色| 国产午夜一区| www插插插无码视频网站| 久久国产夜色精品鲁鲁99| 亚洲av无码成人精品国产| 一区二区三区精品在线观看| 亚洲无码久久久久| 国产丝袜视频一区| 欧美aaaaaaa| 成人在线一区二区| 精品国内自产拍在线观看视频| 搞av.com| 国产91富婆露脸刺激对白| 最新日韩免费视频| 欧洲国内综合视频| 青青免费在线视频| 久久久伊人日本| 亚洲大奶少妇| 亚洲小视频在线播放| 久久精品av麻豆的观看方式| 色噜噜日韩精品欧美一区二区| 性做久久久久久久久| 亚洲精品久久久蜜桃动漫| 久热爱精品视频线路一| 国产成人免费精品| 日本一区二区三区视频在线观看| 一区二区91| 波多野结衣加勒比| 亚洲一区二区三区在线播放| 97超碰人人模人人人爽人人爱| 国产一区二区三区视频| 久久爱91午夜羞羞| 蜜桃导航-精品导航| 国产欧美短视频| 日韩Av无码精品| 亚洲成a天堂v人片| 免费国产精品视频| 国语自产偷拍精品视频偷 | av手机在线播放| 一本一本久久a久久精品综合麻豆| 天天操天天干天天操| 性欧美长视频免费观看不卡| 国产日韩三级| 国产黄页在线观看| 91小视频在线观看| 福利网址在线观看| 原创国产精品91| 日韩第二十一页| 国产奶头好大揉着好爽视频| 久久国产人妖系列| 午夜国产福利一区二区| 日韩免费观看高清完整版 | 91精品国产乱码久久久久久久久 | 熟女高潮一区二区三区| 91福利国产精品| 日本最黄一级片免费在线| 91精品久久久久久久久久入口| 外国成人免费视频| 亚欧精品在线视频| 五月天久久比比资源色| 日本在线一二三| 国产精品欧美日韩| 影音先锋日韩在线| 天堂www中文在线资源| 日韩欧美在线观看| 香蕉视频免费在线播放| 96久久精品| 国产麻豆综合| 特级西西人体高清大胆| 日韩女优电影在线观看| 久草在线中文最新视频| 亚洲日本精品| 国产成人av电影在线| 国产午夜性春猛交ⅹxxx| 欲色天天网综合久久| 综合成人在线| 91av俱乐部| 综合网在线视频| 日韩中文字幕免费观看| 国产精品亚洲欧美导航| 国内激情久久| 高清国产在线观看| 欧美一区二区三区免费大片 | 国产精品天美传媒沈樵| 亚洲第一精品网站| 国产精品久久久久久久久男 | a在线视频观看| 国产精品天天看| 头脑特工队2在线播放| 国产精品成人aaaaa网站|