精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

综合久久五月天| 欧美日韩一区视频| 久久国产日韩欧美| 波多野结衣视频观看| 羞羞答答成人影院www| 精品国产精品一区二区夜夜嗨| 久久综合色视频| 1区2区3区在线观看| 国产·精品毛片| 国产精品99久久久久久人| 卡通动漫亚洲综合| 国产精品亚洲人成在99www| 91精品国产福利| 精品视频无码一区二区三区| av网站大全在线| 国产午夜精品久久久久久免费视| 91|九色|视频| 成人黄色三级视频| 日韩午夜一区| 欧美裸体xxxx极品少妇| 亚洲精品午夜视频| julia中文字幕一区二区99在线| 在线观看日韩一区| 加勒比成人在线| av免费在线网站| 国产欧美一区二区精品忘忧草 | 亚洲欧美一区二区激情| 欧美色图校园春色| 亚洲黑人在线| 欧美影院一区二区| 免费大片在线观看| 国产精品原创| 天天综合天天做天天综合| 日本a级片在线观看| aaa在线观看| 久久久久久久久久久电影| 国产精品自拍首页| 一区二区三区精| 免费成人你懂的| 日韩免费高清在线观看| 欧美h在线观看| 99视频精品免费观看| 久久噜噜噜精品国产亚洲综合| 国产黄在线免费观看| 欧美国产一区二区三区激情无套| 国产亚洲精品91在线| 扒开jk护士狂揉免费| 蜜臀av一区| 日韩av在线网| 国产ts丝袜人妖系列视频| 久久综合另类图片小说| 欧美精品一区二区三区蜜桃视频| 性折磨bdsm欧美激情另类| 亚洲欧美日本国产| 欧美大片在线观看| 伊人影院在线观看视频| 51社区在线成人免费视频| 欧美不卡激情三级在线观看| 中文字幕人妻熟女在线| 91九色鹿精品国产综合久久香蕉| 欧美r级电影在线观看| 2025中文字幕| 老司机精品在线| 94色蜜桃网一区二区三区| 欧洲av在线精品| 北条麻妃在线观看| 吉吉日韩欧美| 欧美在线|欧美| 一级黄色片在线免费观看| 国产欧美日韩电影| 日韩欧美成人一区二区| 北京富婆泄欲对白| 一区二区三区日本久久久| 一本色道久久综合狠狠躁篇的优点 | 精品国产凹凸成av人网站| 性囗交免费视频观看| 自拍自偷一区二区三区| 中文字幕久精品免费视频| 国产精品国产三级国产传播| 欧美三级不卡| 日产精品99久久久久久| 在线观看日批视频| 国产乱子轮精品视频| 久久精品一二三区| 香蕉视频网站在线观看| 一区二区在线观看免费视频播放| 日本www在线视频| 韩日精品一区| 日韩欧美国产综合| 色一情一交一乱一区二区三区| 希岛爱理一区二区三区| 性色av一区二区咪爱| 最近中文字幕免费观看| 国产成人av影院| 日韩国产伦理| 91九色在线看| 在线成人免费观看| 日本一级片在线播放| 成人在线视频免费观看| 久久久亚洲精品视频| а中文在线天堂| 成人精品免费看| 午夜欧美性电影| 蜜桃视频m3u8在线观看| 欧美猛男男办公室激情| www.自拍偷拍| 亚洲欧美综合国产精品一区| 国产精品1234| 日韩一级片免费在线观看| 国产欧美日韩亚州综合| 人妻久久久一区二区三区| 亚洲我射av| 亚洲片在线观看| 日韩女同强女同hd| 国产精品一卡二卡在线观看| 亚洲国产另类久久久精品极度| 超碰在线97国产| 欧美一区二区三区在线观看视频 | 最新亚洲精品| 欧美精品国产精品日韩精品| 91 中文字幕| 国产清纯在线一区二区www| 久久人人爽人人爽人人av| 激情久久99| 亚洲日本中文字幕| 可以在线观看av的网站| 国产98色在线|日韩| 亚洲精品在线视频观看| 婷婷六月国产精品久久不卡| 亚洲国产欧美一区二区三区同亚洲| 亚洲综合视频网站| 蜜臀91精品一区二区三区| 久久久久久国产精品mv| 2018av在线| 欧美精品一区二区三区蜜桃视频| 欧美日韩在线视频免费| 国产一区二区三区av电影 | 中文字幕5566| 国产日韩高清一区二区三区在线| 成人午夜电影免费在线观看| 日本高清在线观看| 日韩欧美专区在线| 中文字幕另类日韩欧美亚洲嫩草| 激情综合五月婷婷| 一区二区精品在线| 日韩毛片免费视频一级特黄| 色999日韩欧美国产| 亚洲视屏在线观看| 国产亲近乱来精品视频| 无码人妻精品一区二区三区66| 亚洲区小说区图片区qvod按摩| 2019中文字幕全在线观看| 天天爱天天干天天操| 精品免费在线观看| 亚洲人人夜夜澡人人爽| 久久精品观看| 亚洲国产精品一区二区第一页 | 妖精视频在线观看免费| 毛片不卡一区二区| 中文字幕一区二区三区5566| 成人影院网站ww555久久精品| 久久精品国产视频| av小说天堂网| 午夜精品在线看| 草草地址线路①屁屁影院成人| 久久亚洲综合| 一区二区三区|亚洲午夜| av一级久久| 欧美日韩xxx| 色av男人的天堂免费在线| 色综合久久综合网97色综合 | 日韩.com| 91亚洲va在线va天堂va国| 色呦呦在线免费观看| 亚洲韩国青草视频| 五月婷婷激情五月| 亚洲精品视频在线看| 国产xxxxxxxxx| 视频在线在亚洲| 成人性做爰片免费视频| 风间由美中文字幕在线看视频国产欧美 | 精品国产一区二区三| 综合在线影院| 久久国产精品偷| 色视频精品视频在线观看| 欧美三级中文字幕| 黄色小视频在线免费看| 久久天天做天天爱综合色| av在线网址导航| 亚洲国产网站| 亚洲精品日韩成人| 国产精品18hdxxxⅹ在线| 国产精品高精视频免费| caopon在线免费视频| 亚洲欧洲成视频免费观看| av加勒比在线| 在线影院国内精品| 日本少妇激情视频| 国产精品国产三级国产a| 欧美成人精品一区二区综合免费| 日日夜夜精品视频免费| 波多野结衣与黑人| 台湾亚洲精品一区二区tv| 91影院在线免费观看视频| 国产免费不卡| 欧美精品video| 里番在线观看网站| 亚洲美女中文字幕| 亚洲免费国产视频| 欧美二区在线观看| 波多野结衣电影在线播放| 亚洲一级在线观看| 午夜国产小视频| 中文字幕国产一区二区| 女人被狂躁c到高潮| 国产高清在线精品| 天天色综合社区| 久久久国产精品一区二区中文| 久久人妻无码一区二区| 久久激情电影| 欧美精品一区在线发布| 久久97精品| 99国精产品一二二线| 日韩一级特黄| 国产精品一二三在线| 免费福利视频一区二区三区| 午夜精品久久久久久久99热| 最爽无遮挡行房视频在线| 日日骚av一区| aaa在线观看| 中文字幕在线观看日韩| 国产一级免费在线观看| 亚洲精品美女免费| 日本黄色大片视频| 精品区一区二区| 亚洲xxxx天美| 精品免费日韩av| 成人久久久精品国产乱码一区二区 | 中文在线免费看视频| 色偷偷一区二区三区| 国产成人免费看| 欧美性生交xxxxx久久久| 日本一级黄色大片| 精品国产乱码久久久久久虫虫漫画| 国产第100页| 午夜影院在线观看欧美| 日韩黄色三级视频| 亚洲大片在线观看| www.国产成人| 欧美性黄网官网| 免费看污视频的网站| 日本高清不卡在线观看| 国产午夜无码视频在线观看| 欧美中文字幕一二三区视频| 亚洲av无码乱码国产精品fc2| 欧美亚洲禁片免费| 91禁在线观看| 欧美成人女星排名| 少妇无码一区二区三区| 亚洲色图17p| 日韩在线免费电影| 九九精品视频在线| av中文字幕在线观看第一页| 欧美在线激情视频| 777午夜精品电影免费看| 91久久精品国产91性色| 亚洲综合影院| 鲁丝片一区二区三区| 成人羞羞动漫| 国产小视频免费| 国产精品免费看| 色播五月激情五月| 东方欧美亚洲色图在线| 中文人妻一区二区三区| 久久久国产一区二区三区四区小说 | 国产精品吊钟奶在线| 日韩美女在线| 国产精品日韩一区二区免费视频| 亚洲精品亚洲人成在线| 一区二区国产日产| 亚洲激情婷婷| 九色porny自拍| 成人动漫一区二区在线| 精品无人区无码乱码毛片国产| 亚洲天堂福利av| av资源免费观看| 欧美精品18+| 无码国精品一区二区免费蜜桃| 国产亚洲精品综合一区91| av在线网址观看| 国产成人精品最新| 亚洲国产精品免费视频| 免费日韩电影在线观看| 天天超碰亚洲| 成人免费毛片网| 日本不卡一区二区| 国产视频精品视频| 国产精品传媒入口麻豆| 国偷自拍第113页| 欧美一级久久久| 成人影视在线播放| 69久久夜色精品国产69乱青草| 亚洲欧美专区| 日韩成人av电影在线| 国内一区二区三区| 欧美成人乱码一二三四区免费| 99精品久久只有精品| 永久久久久久久| 欧美三级日韩在线| 日本大片在线观看| 久久久久久12| 欧美成年网站| 中文字幕一区二区三区四区五区| 久久久久99| 亚洲男人在线天堂| 亚洲一二三四在线观看| 国产永久免费视频| 综合国产在线视频| 国精产品一区二区三区有限公司 | 色婷婷av一区二区三区之红樱桃 | 亚洲天堂资源| 国产成人免费电影| 一级毛片免费高清中文字幕久久网| 北条麻妃av高潮尖叫在线观看| 99国产精品久久久久久久久久久 | 88久久精品无码一区二区毛片| 亚洲国产aⅴ成人精品无吗| 国产丝袜在线视频| 俺去了亚洲欧美日韩| ww久久综合久中文字幕| 精品日本一区二区三区| 伊人久久成人| 精品无码av一区二区三区| 一区二区三区欧美亚洲| a级片在线视频| 欧美成人国产va精品日本一级| 伊人久久精品| 亚洲黄色网址在线观看| 激情另类小说区图片区视频区| 秋霞欧美一区二区三区视频免费| 欧美色图免费看| 在线观看免费网站黄| 国产精品视频一区二区三区四| 精品久久综合| 国产一级做a爰片久久| 国产精品免费av| 中文字幕免费在线看| 中文字幕在线精品| 日韩欧国产精品一区综合无码| 亚洲精品一卡二卡三卡四卡| 日本91福利区| 99热6这里只有精品| 91精品国模一区二区三区| av毛片在线| 国产一级特黄a大片99| 久久av一区| 中文字幕在线观看免费高清| 欧美无人高清视频在线观看| 欧美一区二区三区| 91超碰在线免费观看| 在线精品观看| 国产毛片久久久久久久| 欧美性xxxxxx少妇| 老司机精品影院| 国产日韩久久| 日韩二区三区四区| 四虎永久免费地址| 欧美大肚乱孕交hd孕妇| av资源亚洲| 伊人久久大香线蕉av一区| 国产黄色精品网站| 在线观看免费国产视频| 一本色道久久88亚洲综合88| 精品91福利视频| 欧美大片在线播放| 国产精品天美传媒| 亚洲国产精彩视频| 日本成人黄色片| 亚洲网色网站| 黄色片视频免费观看| 欧美日韩美少妇| 成人影音在线| 日本日本精品二区免费| 国产成人免费视频一区| 免费看污视频的网站| 色综合久综合久久综合久鬼88 | 成人高潮a毛片免费观看网站| 97av视频在线观看| 综合欧美亚洲日本| 五月天婷婷激情网| 国产一区欧美二区三区| 亚洲美女黄色| 小嫩苞一区二区三区| 亚洲精品一区二区在线| 精品中文字幕一区二区三区| 99精品免费在线观看| 夜夜嗨av一区二区三区 | 欧美成人手机在线| 欧美人与拘性视交免费看| 亚洲熟妇一区二区|