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

Vitest 1.0 正式發布:Vue 團隊打造的下一代測試框架!

開發 前端
Vitest 于 2021 年 12 月推出,至今已經過去了兩年的時間,其發展速度可謂是非常迅速,目前在 Npm 下載量已經達到了每周 250w,并且還在呈現快速增長的趨勢,Github Star 數量達到了 10.7k。

12 月 5 日,由 Vue 團隊打造的下一代測試框架 Vitest 正式推出 1.0 版本!

Vitest 于 2021 年 12 月推出,至今已經過去了兩年的時間,其發展速度可謂是非常迅速,目前在 npm 下載量已經達到了每周 250w,并且還在呈現快速增長的趨勢,Github Star 數量達到了 10.7k。

Vitest 是什么?

Vitest 是一個原生支持 Vite 的測試框架。Vitest 以其快速、簡潔的測試解決方案脫穎而出,需要最少的配置。Vitest 與廣泛采用的JavaScript測試框架 Jest 完美契合,并能無縫集成到 Vue 應用中。雖然它專為與 Vite 一起使用而設計,但Vitest也可以獨立運行,在應用中提供了靈活性。由于 Vitest 和 Vite 使用相同的配置文件,因此將 Vitest 集成到 Vue 應用中很簡單。

Vitest 的主要功能如下:

  • 與 Vite 通用的配置、轉換器、解析器和插件。
  • 使用與你的應用程序相同的設置來運行測試!
  • 智能文件監聽模式,就像是測試的 HMR!
  • 支持對 Vue、React、Svelte、Lit 等框架進行組件測試。
  • 開箱即用的 TypeScript / JSX 支持
  • ESM 優先,支持模塊頂級 await
  • 通過 Tinypool 使用 Worker 線程盡可能多地并發運行
  • 使用 Tinybench 來支持基準測試
  • 套件和測試的過濾、超時、并發配置
  • 支持 Workspace
  • Jest 的快照功能
  • 內置 Chai 進行斷言 + 與 Jest expect 語法兼容的 API
  • 內置用于對象模擬(Mock)的 Tinyspy
  • 使用 jsdom 或 happy-dom 用于 DOM 模擬
  • 通過 v8 或 istanbul 來輸出代碼測試覆蓋率
  • 類似于 Rust 語言的源碼內聯測試
  • 通過 expect-type 進行類型測試

Vitest 1.0 更新內容

重大變更

  • 添加對pool和poolOptions的支持,移除舊標志
  • 支持多個并行child_process
  • 使快照更加美觀
  • 為子包設置vitest對等依賴范圍
  • 將最低 node 版本提升至 18,并匹配 Vite 5 的要求
  • 移除已棄用的 node 加載器
  • 將瀏覽器提供程序移到 @vitest/browser 包中
  • 移除EnhancedSpy類型,棄用SpyInstance,改進模擬和 vi 文檔
  • runner: 正確處理自定義任務,更新 runner hooks 命名
  • coverage:
  • 基于 glob 的覆蓋率閾值
  • 使用transformMode和基于工作區項目的源映射
  • 默認啟用 coverage.all

新功能

  • 添加 Marko 示例,并包括 Marko 文件的代碼覆蓋率
  • 更新magic-string
  • 實現provide/inject API 以傳輸來自主線程的數據
  • 改進expectTypeOf錯誤消息
  • 添加test.sequential() api
  • 允許自定義池
  • 添加 --project 選項以限制正在運行的項目
  • benchmark:將importTinybench移動到runner中
  • browser:支持 "none" 提供程序,并更新lit示例以使用它
  • coverage:支持 /* v8 ignore... 忽略提示
  • expect:
  • 支持 expect.closeTo api
  • ToContain可以處理classList和Node.contains
  • 通過href比較 URL 對象
  • snapshot:添加配置快照目錄的選項
  • vite-node:支持 Vite 5 的import.meta.hot.off
  • vitest:
  • 暴露getBenchFn、getBenchOptions
  • 在測試期間運行類型檢查
  • 過濾堆棧跟蹤
  • 將execArgv暴露給不同的池

Vitest 嘗鮮

準備工作

要想在 Vue 項目中運行自動化組件測試,首先要使用以下命令初始化一個 Vue 應用:

npm create vite@latest vue-app --template vue
cd vue-app
npm install

項目安裝完成后,運行以下命令啟動應用:

npm run dev

在瀏覽器中打開 http://127.0.0.1:5173/,即可看到應用程序成功運行。

接下來,使用以下命令來安裝 Vitest:

npm install -D vitest

安裝完成后,我們需要將 Vitest 添加到 package.json 文件中。在 package.json 文件中添加測試腳本:

"scripts": {
  // ...
   "test": "vitest",
 },

接下來,打開 vitest.config.js 文件并添加以下代碼:

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

// https://vitejs.dev/config/
export default defineConfig({
 plugins: [vue()],
 test:{
   globals:true,
 }
})

將 globals 屬性設置為 true 將允許在測試文件中訪問 Vitest API,而無需導入它們。

Test Utils 是一個 Vue 測試庫,提供了安裝 Vue 組件并與之交互的方法。使用以下命令安裝測試實用程序:

npm install --save-dev @vue/test-utils

我們應該能夠在組件測試中模擬 DOM API。Vitest 目前支持happy-dom和jsdom。這里我們將使用 happy-dom。運行下面的命令來安裝happy-dom:

npm install happy-dom@6.0.4

安裝完成后,在 package.json 文件中的測試腳本中添加--dom

"scripts": {
   // …
   "test": "vitest --dom", 
 },

另外,我們需要將 happy-dom 添加到 vite.config.js 文件中,以使其在測試文件中全局可用:

test:{
   // …
   environment: 'happy-dom',
 }

創建 Vue 組件

接下來,創建一個名為 GuessAge.vue 的簡單組件,該組件使用戶能夠輸入自己的姓名,并使用 Agify.io API 根據輸入的姓名猜測用戶的年齡。

在 src/components 文件夾中,創建一個 GuessAge.vue 文件并添加以下代碼:

<template>
  <h1>{{ title }}</h1>
  <div class="card">
   <div style="width:400px;height:130px;margin-top:20px;border-style: dotted;" >
   <br>
    <span>名字: {{firstname}}</span> <br>
    <span>年齡: {{age}}</span> <br>

    </div><br><br>
     <label> 輸入名字 </label><br>
     <input type="text" v-model="search" style="font-size:20px;border-radius:10px;" placeholder=" Name ..."> <br> <br>
    <button type="button" @click="getAge">猜年齡</button>
    <br> <br> <br>
    <input type="radio" value="pop"> <label>保存</label>
  </div>
</template>
<script setup>
import { ref } from 'vue'
defineProps({
  title: String
})
</script>
<script>
export default {
    data() {
        return {
            search:"",
            firstname:"",
            age:"",
        }
    },
    computed: {
       getAge() {
        fetch('https://api.agify.io/?name='+ this.search)
        .then(response => response.json())
        .then(data => {
            this.age = data.age
            this.firstname = data.name
            this.search=""
        })
        }
    }
}
</script>

測試 Vue 組件的 props 和函數

現在,我們需要為組件創建一個測試文件。根據命名約定,測試文件名必須以組件名稱開頭,以 .spec.js 或 .test.js 結尾。當測試多個組件時,每個組件都應該有一個測試文件。

在 Components 文件夾中創建一個名為 GuessAge.spec.js 的測試文件。該文件將包含 GuessAge 組件的簡單測試腳本。讓我們測試 GuessAge 組件,看看它在安裝時是否接收到正確的 props。可以通過將以下代碼添加到 GuessAge.spec.js 文件來測試掛載時 title 屬性的值:

import {mount} from "@vue/test-utils";
import GuessAge from "../components/GuessAge.vue";
// import { expect, test } from "vitest";
const wrapper = mount(GuessAge);

it("testing GuessAge component props", async () => {
  expect(GuessAge.props.title).toContain("Guess User Age App");
});

從 @vue/test-utils 導入 mount,允許將組件包裝到一個名為 Wrapper 的特殊對象中,它提供了各種測試選項。

注意:如果在 Vite 的配置文件中將globals的值設置為false,那么在測試文件中就應該添加 import { expect, test } from "vitest"。

運行以下命令以在監聽模式下測試組件:

npm run test

我們還可以使用 toBe('function') 斷言方法來檢查應用中是否存在函數,如下所示:

it("Test if data is a function", () => {
  expect(typeof GuessAge.data).toBe("function");
});

可以在終端中看到以下內容:

使用快照測試用例

快照用于跟蹤用戶界面的變化。典型的快照測試用例會渲染一個UI組件,獲取一個快照,并將其與測試文件旁邊的參考快照文件進行比較。它將當前的UI狀態與已建立的快照進行比較。如果當前狀態與已建立狀態不匹配,測試將失敗。

要運行快照測試并跟蹤UI的變化,需要在GuessAge.spec.js測試文件中添加以下代碼:

test('snapshot UI testing', () => {
   const wrapper = mount(GuessAge,{});
   expect(wrapper.text()).toMatchSnapshot()
})

由于Vitest支持熱模塊重載,每次修改測試文件時都不必運行測試命令。可以在終端中看到以下內容:

模擬 HTTP 請求

在使用HTTP請求測試Vue組件時,我們首先需要模擬網絡請求;否則,測試將失敗。使用 Mock Service Worker (MSW) 進行模擬可以輕松地通過攔截測試中的請求來測試 HTTP 請求,而不需要更改任何應用程序代碼。

使用以下命令來安裝 MSW:

npm install msw --save-dev

我們需要在 GuessAge.spec.js 測試文件中導入以下兩個依賴項才能使用 MSW:

import { setupServer } from 'msw/node'
import { rest } from 'msw'

通過在GuessAge.spec.js測試文件中添加以下代碼來創建攔截HTTP請求的模擬服務器實例:

export const restHandlers = [
   rest.get('https://api.agify.io/', (req, res, ctx) => {
      return res(ctx.status(200), ctx.json([
         {
            age: 55,
            name: "tope"
         }
      ]))
   }),
]
const server = setupServer(...restHandlers)
// 在所有測試之前啟動服務
beforeAll(() => server.listen({ onUnhandledRequest: 'error' }))
// 在所有測試之后關閉服務
afterAll(() => server.close())
// 在每個測試后重置處理程序,對于測試隔離很重要
afterEach(() => server.resetHandlers())

測試點擊事件

接下來檢查應用中是否存在按鈕,以及單擊“猜年齡”按鈕是否會在獲取用戶年齡后清除輸入標簽

test("有按鈕", () => {
  expect(wrapper.find("button").exists()).toBe(true);
});

test("Button clicked", async () => {
   const ac = await wrapper.get("button").trigger("click")
   expect(wrapper.vm.search).toEqual("")
})

可以在終端中看到以下內容:

覆蓋率測試

為了評估代碼的效果和質量,Vitest支持通過c8和Istanbul實現本地代碼覆蓋率,從而對代碼性能進行報告和分析。

為了配置和運行覆蓋率測試,我們需要在vite.configure.js文件中添加以下內容:

export default defineConfig({
  plugins: [vue()],
  test:{
    globals:true,
    coverage: {
      provider: 'istanbul'
    },
    environment: 'happy-dom',
  }
})

此外,我們還需要在package.json文件中的腳本部分添加coverage,如下所示:

"scripts": {
  // ...
   "coverage": "vitest run --coverage"
 },

配置完成之后 ,接下來就使用以下命令安裝 Istanbul:

npm i -D @vitest/coverage-istanbul

當執行以下命令時,測試文件將會運行,Vitest 將在終端上顯示覆蓋率報告:

npm run coverage

測試時間

在運行測試時,確保測試在合理的時間內完成非常重要。有時,一個測試可能需要太長時間才能完成,這可能會導致問題并延遲測試套件的運行。為了解決這個問題,Vitest提供了一個test-timeout選項,允許為測試設置超時時間。該選項指定了測試在超過最大時間限制之前可以完成的最長時間,否則將失敗并顯示超時錯誤。

可以使用以下命令為所有測試設置超時時間并替換默認時間:

npx vitest run --test-timeout=50000

該命令會將 Vitest 測試框架中測試的超時值設置為 50 秒,可以根據測試要求將此值替換為不同的時間值。

從 Jest 遷移到 Vitest

將應用的測試從 Jest 遷移到 itest 非常簡單。兩個測試框架使用類似的API,因此在遷移到 Vitest 時,可能不需要對現有的代碼進行重大更改。下面就來看看如何從 Jest 遷移到 Vitest。

首先,我們需要從項目中刪除 Jest,并通過運行以下命令安裝 Vitest 以及所有必要的依賴項:

npm uninstall jest --save-dev
npm install vitest --save-dev
npm install --save-dev @vue/test-utils

接下來,我們需要在package.json文件中更新測試腳本,以使用Vitest而不是Jest。可以通過將測試腳本更改為Vitest來實現:

"scripts": {
  "test": "vitest",
}

現在,運行以下命令來測試應用:

npm run test

如果在 Jest 測試代碼中使用了模塊模擬,需要將其更新為以下 Vitest 測試代碼:

// Jest
jest.mock('./module-path', () => 'hello')

// Vitest
vi.mock('./module-path', () => ({
  default: 'hello'
}))
責任編輯:姜華 來源: 前端充電寶
相關推薦

2013-04-25 13:21:30

2022-07-17 06:48:39

Vite 3.0前端工具鏈

2013-07-27 21:28:44

2022-07-06 11:38:40

人工智能AI

2017-10-08 21:04:59

2017-11-10 09:46:03

2009-01-11 10:13:39

Stripes開發框架JSP

2013-06-27 11:21:17

2011-12-06 09:48:57

惠普Automomy

2011-03-03 11:35:10

2022-10-14 08:31:10

2016-07-12 11:41:09

云計算

2016-08-09 14:24:54

華為

2018-09-27 18:47:45

AIOpsDevOps

2020-09-27 17:27:58

邊緣計算云計算技術

2024-02-26 14:46:53

移動計算人工智能5G

2020-06-02 08:05:28

智能電表蜂窩物聯網NB-IoT

2018-09-11 08:00:00

DevOpsAIOps機器學習

2025-01-03 09:24:10

模型架構論文

2020-09-16 10:28:54

邊緣計算云計算數據中心
點贊
收藏

51CTO技術棧公眾號

91亚洲一线产区二线产区 | 欧美韩国日本| 最新国产成人在线观看| 91文字幕巨乱亚洲香蕉| 五月天婷婷久久| 国产大片一区| 日韩成人在线电影网| 亚洲精品手机在线观看| av资源一区| 国产精品久久久久久久久免费桃花 | 欧美日韩乱国产| 久久精品av| 日韩毛片在线看| 波多野结衣网页| 欧美黄色三级| 亚洲不卡一区二区三区| 制服丝袜综合日韩欧美| 青青青手机在线视频观看| 国产精品1区2区3区在线观看| 日韩69视频在线观看| 日韩视频中文字幕在线观看| 久久99国内| 亚洲成色777777女色窝| 性生生活大片免费看视频| 国产在线精彩视频| 亚洲二区在线视频| 大桥未久一区二区三区| 电影在线一区| 久久久久久久久99精品| 国产精品对白刺激久久久| 亚洲专区在线播放| 久久久xxx| 97香蕉久久夜色精品国产| 国产极品国产极品| 99精品网站| 三级精品视频久久久久| 国产美女永久免费无遮挡| 西野翔中文久久精品字幕| 精品精品国产高清一毛片一天堂| 一级黄色片在线免费观看| 国产欧美自拍| 欧美日韩一区二区三区免费看| 色综合av综合无码综合网站| 日本不卡1234视频| 欧美日韩国产在线| 青青青免费在线| 极品av在线| 欧美丝袜一区二区| 99999精品视频| 在线观看特色大片免费视频| 同产精品九九九| 国产 福利 在线| 中文字幕乱码中文乱码51精品| 黄色成人在线播放| 大陆极品少妇内射aaaaa| 国产美女精品写真福利视频| 亚洲1区2区3区视频| 天天夜碰日日摸日日澡性色av| 91www在线| 午夜精品久久久| 国产精品99久久免费黑人人妻| 奇米777日韩| 91福利社在线观看| 男生操女生视频在线观看 | 亚洲一级二级片| 91精品精品| 欧美精品videofree1080p| 免费在线观看黄网站| 国产精品婷婷| 国产精品第七十二页| 亚洲视频在线免费播放| 国产乱子轮精品视频| 成人综合电影| 免费黄网站在线观看| 日本一区二区成人在线| 国产精品av免费| 爱看av在线入口| 一本到不卡精品视频在线观看| 免费涩涩18网站入口| 久久的色偷偷| 亚洲精品国产综合区久久久久久久| 欧美亚一区二区三区| 日韩黄色大片| 久久久久久久色| 日本一区二区三区久久| 国产伦精品一区二区三区视频青涩| 国产精品久久久久久久久久久久午夜片 | 大胆人体色综合| 日韩精品一区二区不卡| 日韩国产精品91| 成人免费视频视频在| 亚洲区小说区图片区| 国产精品久久毛片a| 成人在线播放网址| 性欧美videohd高精| 欧美一区二区视频免费观看| 久久人人爽人人人人片| 99久久婷婷| 久久久这里只有精品视频| 日本免费精品视频| 国产高清不卡二三区| 欧美日韩国产不卡在线看| 成人三级网址| 欧美亚洲禁片免费| 亚洲天堂美女视频| 亚洲精品国产首次亮相| 国产成人一区二区三区小说| 成人黄色免费视频| 欧美国产成人精品| 亚洲中文字幕无码专区| 日韩精品一区二区三区中文| 亚洲一区av在线播放| 久草视频精品在线| 免费欧美日韩国产三级电影| 国产伦精品一区二区三区高清| 美女羞羞视频在线观看| 日本高清成人免费播放| 亚洲激情 欧美| 一区二区三区午夜视频| 国产精品揄拍500视频| 少妇av在线播放| 一区二区三区久久久| 国产精品v日韩精品v在线观看| 亚洲精品进入| 8090成年在线看片午夜| 精品人妻一区二区三区四区不卡 | 天天干中文字幕| 美女视频黄 久久| 欧美lavv| 在线观看涩涩| 亚洲跨种族黑人xxx| 日本三级2019| 大胆亚洲人体视频| 久久www视频| 欧美经典影片视频网站| 日韩中文在线中文网在线观看| www.国产毛片| 久久久久久久久97黄色工厂| 国产a级一级片| 香蕉视频一区| 欧美中文字幕在线观看| 性感美女福利视频| 高跟丝袜一区二区三区| 中文字幕在线播放视频| 亚洲乱亚洲高清| 精品国产一区二区三区久久久久久| 国产偷倩在线播放| 精品福利二区三区| 日韩女优在线观看| 99精品视频一区二区| 日本网站免费在线观看| 在线一级成人| 国产精品成人aaaaa网站| 精品久久久久一区二区三区| 色成人在线视频| 国内精品卡一卡二卡三| 蜜桃久久精品一区二区| 亚洲一区二区三区精品动漫| 四虎精品永久免费| 欧美成在线观看| 亚洲精品一区二区三区蜜桃| 午夜欧美在线一二页| 男男做爰猛烈叫床爽爽小说| 免费视频一区二区三区在线观看| 日本一区二区三区视频在线播放 | 草美女在线观看| 亚洲护士老师的毛茸茸最新章节| 久久免费激情视频| 久久你懂得1024| 亚洲综合婷婷久久| 欧美啪啪一区| 欧美激情www| 亚洲高清国产拍精品26u| 欧美日本中文字幕| 色天堂在线视频| 欧美日韩精品欧美日韩精品一综合| 久久久久久久久久网站| 99re视频这里只有精品| 男女曰b免费视频| 亚洲区综合中文字幕日日| 国产乱码精品一区二区三区中文| 日韩一区二区三区在线免费观看| www国产91| 日韩一级片免费观看| 在线视频欧美精品| 欧美成人精品欧美一| 久久人人超碰精品| 欧美熟妇另类久久久久久多毛| 亚洲美女网站| 免费在线观看污污视频| 色橹橹欧美在线观看视频高清| 国产主播欧美精品| 女人让男人操自己视频在线观看| 色偷偷av一区二区三区乱| 色窝窝无码一区二区三区成人网站| 欧美在线观看18| 国产极品美女高潮无套嗷嗷叫酒店| 国产色综合一区| 少妇丰满尤物大尺度写真| 久久午夜电影| 久久这里只有精品18| 日产精品一区二区| 国产一区再线| 国产一区二区在线观| 国产成人精品久久二区二区91| 99自拍视频在线观看| 一本一本久久a久久精品牛牛影视| 亚洲a视频在线| 欧美人与性动xxxx| 五月激情六月丁香| 亚洲午夜成aⅴ人片| 亚洲一二三四五六区| 91蜜桃在线免费视频| jjzz黄色片| 久久草av在线| 一级黄色香蕉视频| 国产精品入口66mio| 免费在线看黄色片| 91精品精品| 中文字幕99| 日韩精品一区二区三区免费观看| 久久人人爽爽人人爽人人片av| 日韩激情精品| 91免费看国产| 视频91a欧美| 国产热re99久久6国产精品| 亚洲福利影院| 97精品久久久中文字幕免费| 深夜国产在线播放| 欧美xxxx14xxxxx性爽| 日本黄色片在线观看| 国产一区二区三区在线观看网站| 欧美一级一区二区三区| 日韩午夜精品电影| 精品国产999久久久免费| 欧美日本免费一区二区三区| 一级黄色片免费| 欧美日韩你懂得| 中文字幕欧美在线观看| 欧美又粗又大又爽| 国产九色91回来了| 欧美人妇做爰xxxⅹ性高电影| 真实的国产乱xxxx在线91| 日本高清成人免费播放| av首页在线观看| 欧美在线观看视频一区二区三区| 国产一级片免费视频| 在线观看不卡一区| 中文字幕日韩第一页| 欧美色国产精品| 国产一区二区视频免费观看 | 神马电影在线观看| 亚洲美女性生活视频| 久久经典视频| 在线看日韩欧美| 老司机在线视频二区| 美女精品视频一区| av丝袜在线| 日本伊人精品一区二区三区介绍| 唐人社导航福利精品| 国产精品色午夜在线观看| 99精品国产九九国产精品| 波多野结衣一区二区三区在线观看| 中文字幕一区日韩精品| 狠狠色狠狠色综合人人| av资源久久| 日韩中文在线字幕| 亚洲激情不卡| 好男人www社区| 国产麻豆91精品| 中国极品少妇videossexhd| 久久久精品欧美丰满| 国产中文字幕久久| 亚洲va欧美va国产va天堂影院| 亚洲免费在线视频观看| 欧美日韩一区二区在线观看视频| www.国产三级| 亚洲欧洲午夜一线一品| 欧美18hd| 777午夜精品福利在线观看| 国产精品xxx| 国产精品v欧美精品∨日韩| 精品久久一区| 国产911在线观看| 久久精品一区二区三区中文字幕| 免费成人黄色大片| 99久久伊人久久99| 5566中文字幕| 欧美日韩国产在线看| 国产精品伦理一区| 日韩精品免费观看| 黄色在线免费看| 日本精品久久久久影院| 麻豆精品一区| 日本在线成人一区二区| 亚洲图片在线| 日本中文字幕观看| 久久久久成人黄色影片| 免费无码毛片一区二区app| 色狠狠一区二区| 亚洲乱码在线观看| 色噜噜狠狠狠综合曰曰曰88av| aa在线视频| 国产精品视频久久久久| 欧美性生活一级片| 久久99国产精品一区| 久久这里只有| 日韩综合第一页| 亚洲视频网在线直播| 少妇又紧又色又爽又刺激视频 | 天堂在线中文视频| 精品福利在线观看| a级片在线免费看| 中文字幕精品在线视频| 一二三四视频在线中文| 国产欧美日本在线| 欧美久久综合| 日韩不卡的av| 国产精品国产三级国产专播品爱网| 国产精品视频一区在线观看| 337p日本欧洲亚洲大胆精品| 看黄网站在线| 国产女人精品视频| 国产真实有声精品录音| 国产aaa一级片| av毛片久久久久**hd| 国产午夜精品一区二区理论影院| 欧美一级在线观看| 国产精品刘玥久久一区| 国产日韩在线视频| 欧美电影免费播放| 15—17女人毛片| 日本一区二区不卡视频| 日韩乱码一区二区三区| 国产亚洲福利一区| 日韩欧美精品电影| 日日骚一区二区网站| 日韩—二三区免费观看av| 谁有免费的黄色网址| 色屁屁一区二区| 二区在线观看| 国产日韩欧美一二三区| 国产精品成人av| 992tv人人草| 亚洲黄色av一区| 亚洲高清视频在线播放| 久久久久久com| 久久国产精品色av免费看| 青青青青草视频| 2020日本不卡一区二区视频| 日日骚av一区二区| 国产亚洲欧洲高清| 日韩三级成人| av片在线免费| 99视频国产精品| www.国产一区二区| 中文字幕精品久久| www.欧美| 色欲色香天天天综合网www| 99久久精品国产精品久久| 4438国产精品一区二区| 中文字幕在线观看日韩| gogo大尺度成人免费视频| 强开小嫩苞一区二区三区网站| 成人涩涩免费视频| 日日骚av一区二区| 日韩一区二区三区在线播放| 日韩精品成人| 国产精品免费观看久久| 国产精品灌醉下药二区| 亚洲精品国产一区二| 日韩美女免费视频| 天天做天天爱综合| 国产人妻黑人一区二区三区| 欧美性黄网官网| 黄色的网站在线观看| 国产欧美日韩综合精品二区| 久久午夜激情| 久久久.www| 亚洲无限av看| 999在线精品| 免费黄色一级网站| 有码一区二区三区| 欧美视频免费一区二区三区| 91精品久久久久久久久久久久久 | 日韩高清欧美| 亚洲av人人澡人人爽人人夜夜| 在线精品视频免费播放| 色老头在线观看| 亚洲精品国产一区| av在线不卡免费看| 亚洲天堂免费av| 91国内产香蕉| 欧美搞黄网站| 免费在线观看a视频| 精品国产成人在线影院| 高清亚洲高清| 成人免费毛片网| 玉米视频成人免费看| 91网页在线观看|