国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

基于 TDD 模式編寫 Vue 評(píng)論組件(中):父子組件之間的通信測(cè)試

共 13652字,需瀏覽 28分鐘

 ·

2021-03-23 23:24

一、拆分評(píng)論列表組件

為了測(cè)試 Vue 父子組件之間的通信,我們需要將之前編寫的評(píng)論組件拆分成兩部分 —— 將評(píng)論列表拆分成獨(dú)立的子組件 CommentList,然后在 CommentComponent 中引入它。

resources/js/components 目錄下新建 ComponentList.vue,并初始化組件代碼如下:

<template>
    <div>
        <h3>所有評(píng)論</h3>
        <ul class="comments" v-show="comments.length > 0">
            <li v-for="(content, index) in comments" :key="index" v-text="content"></li>
        </ul>
    </div>

</template>

<script>
export default {
    props: ['comments']
}
</
script>

然后在父組件 CommentComponent.vue 中引入評(píng)論列表子組件:

<template>
    <div>
        <form @submit.prevent="addNewComment">
            ...
        </form>
        <ComponentList :comments="comments"></ComponentList>
    </div>

</template>

<script>
import ComponentList from "./
ComponentList";
export default {
    components: {ComponentList},
    ...
}
</script>

運(yùn)行 npm run test 進(jìn)行回歸測(cè)試:

測(cè)試通過,說(shuō)明此次代碼重構(gòu)沒有引入 bug,評(píng)論組件依然可以正常工作。

二、通過 props 屬性傳遞數(shù)據(jù)到子組件

接下來(lái),我們?yōu)樽咏M件 CommentList 編寫單獨(dú)的測(cè)試用例用于測(cè)試父子組件之間的通信。

前面在介紹 Vue 組件通信原理時(shí),我們已經(jīng)知曉父子組件之間的通信機(jī)制:父組件通過 props 屬性傳遞數(shù)據(jù)給子組件,子組件通過 $emit 以事件觸發(fā)的方式將消息變更上報(bào)給父組件。

先來(lái)看通過 props 屬性實(shí)現(xiàn)從父組件與子組件的單向通信。

tests/JavaScript 新建一個(gè)測(cè)試文件 comment-list.spec.js,編寫第一個(gè)測(cè)試用例代碼如下:

import {mount} from "@vue/test-utils";
import CommentList from "../../resources/js/components/CommentList.vue";

describe('CommentList.vue', () => {
    let wrapper;

    beforeEach(() => {
        wrapper = mount(CommentList, {
            propsData: {
                comments: ['測(cè)試評(píng)論']
            }
        })
    })

    it('should display comments passed from parent scope'function ({
        expect(wrapper.find('ul.comments').isVisible()).toBe(true);
        expect(wrapper.find('ul.comments').html()).toContain('測(cè)試評(píng)論');
    });
})

在這個(gè)測(cè)試用例中,我們只是簡(jiǎn)單斷言如果父組件通過 props 屬性傳遞數(shù)據(jù)到子組件后,是否可以正常渲染評(píng)論列表和評(píng)論數(shù)據(jù),這里我們?cè)?beforeEach 中初始化組件掛載時(shí)就設(shè)置了默認(rèn)的 props 屬性模擬數(shù)據(jù)。

運(yùn)行 npm run watch-test 進(jìn)行自動(dòng)化測(cè)試,測(cè)試通過,表明通過 props 屬性從父組件傳遞數(shù)據(jù)到子組件后是可以正常工作的:

三、通過 $emit 事件觸發(fā)上報(bào)子組件消息

再來(lái)看通過 $emit 事件觸發(fā)實(shí)現(xiàn)從子組件到父組件的單向通信。

為了演示這個(gè)事件觸發(fā)通信的測(cè)試用例編寫,我們?yōu)樵u(píng)論列表子組件中的評(píng)論添加點(diǎn)贊功能,假設(shè)每條評(píng)論后面都有一個(gè)點(diǎn)贊/取消點(diǎn)贊操作按鈕,初始化情況下是點(diǎn)贊操作,點(diǎn)擊該按鈕會(huì)觸發(fā)父組件中定義的監(jiān)聽事件切換對(duì)應(yīng)評(píng)論的點(diǎn)贊狀態(tài),再經(jīng)由上面的 props 屬性鏈路將狀態(tài)變更通知給子組件,進(jìn)而在子組件中將該評(píng)論的點(diǎn)贊按鈕切換成取消點(diǎn)贊按鈕。

基于這樣的業(yè)務(wù)實(shí)現(xiàn)邏輯,我們?cè)?comment-list.spec.js 中編寫第二個(gè)測(cè)試用例代碼如下:

it('默認(rèn)可以點(diǎn)贊,點(diǎn)擊點(diǎn)贊按鈕觸發(fā)父級(jí)事件', () => {
    // Given
    let button = wrapper.find('button.vote-up');  // 默認(rèn)是點(diǎn)贊按鈕
    expect(button.isVisible()).toBe(true);
    expect(button.text()).toBe('點(diǎn)贊');

    // When
    button.trigger('click');  // 點(diǎn)擊點(diǎn)贊按鈕

    // Then
    expect(wrapper.emitted().voteToggle).toBeTruthy();   // 觸發(fā)父級(jí)點(diǎn)贊切換事件函數(shù)
    expect(wrapper.emitted().voteToggle[0]).toEqual([0]);  // 斷言傳遞參數(shù)
});

默認(rèn)情況下是點(diǎn)贊按鈕,點(diǎn)擊該按鈕,會(huì)觸發(fā)父級(jí)事件函數(shù) voteToggle,并且我們?cè)谕ㄟ^ $emit 觸發(fā)該事件函數(shù)時(shí)還傳遞了當(dāng)前評(píng)論的索引,以便父組件可以對(duì)號(hào)操作,以上事件觸發(fā)相關(guān)邏輯都可以通過斷言來(lái)實(shí)現(xiàn),代碼如上所示。

這個(gè)時(shí)候測(cè)試肯定不會(huì)通過:

因?yàn)樵u(píng)論列表子組件中還沒有相應(yīng)的按鈕元素,另外,由于每條評(píng)論都新增了點(diǎn)贊狀態(tài),所以相應(yīng)的評(píng)論模型數(shù)據(jù)結(jié)構(gòu)也要做調(diào)整,先在子組件中 CommentList 中添加點(diǎn)贊和對(duì)應(yīng)的點(diǎn)贊狀態(tài)屬性:

<template>
    <div>
        <h3>所有評(píng)論</h3>
        <ul class="comments" v-show="comments.length > 0">
            <li v-for="(comment, index) in comments" :key="index">
                {{ comment.content }}
                <button class="vote-up" v-if="!comment.voted">點(diǎn)贊</button>
                <button class="vote-down" v-if="comment.voted">取消點(diǎn)贊</button>
            </li>
        </ul>
    </div>

</template>

<script>
export default {
    props: ['comments']
}
</
script>

然后在父組件 CommentComponent 中為評(píng)論模型添加 voted 屬性表示點(diǎn)贊狀態(tài):

<template>
    <div>
        <form @submit.prevent="addNewComment">
            <div class="form-group">
                <textarea v-model="content" class="form-control" name="content" rows="3" placeholder="請(qǐng)輸入評(píng)論內(nèi)容..."></textarea>
            </div>
            ...
        </form>
        ...
    </div>

</template>

<script>
...
export default {
    ...
    data() {
        return {
            content: '',
            comments: []
        }
    },
    methods: {
        addNewComment() {
            let comment = {
                content: this.content,
                voted: false
            }
            this.comments.push(comment);
            this.content = '';
        }
    }
}
</
script>

保存代碼,此時(shí)原來(lái)的測(cè)試用例會(huì)不通過:

因?yàn)樵u(píng)論模型數(shù)據(jù)結(jié)構(gòu)調(diào)整,所以需要修改 comment.spec.js 對(duì)應(yīng)的測(cè)試用例代碼:

beforeEach(() => {
    wrapper = mount(CommentComponent, {
        comment: {
            content'',
            votedfalse
        },
        comments: []
    })
})

...

it('typed comment will sync with model data 'function ({
    // Given
    let comment = '大家好,我是學(xué)院君。';
    wrapper.find('textarea[name=content]').element.value = comment;

    // When
    wrapper.find('textarea[name=content]').trigger('input');

    // Then
    expect(wrapper.vm.content).toBe(comment);
});

it('click submit button will render comment in comments list'function ({
    // Given
    expect(wrapper.find('ul.comments').isVisible()).toBe(false);
    let comment = '大家好,我是學(xué)院君。';
    wrapper.find('textarea[name=content]').element.value = comment;
    wrapper.find('textarea[name=content]').trigger('input');

    // When
    wrapper.find('button[type=submit]').trigger('submit');

    // Then
    expect(wrapper.vm.comments.length).toBe(1);
    expect(wrapper.vm.comments[0].content).toBe(comment);
    wrapper.vm.$nextTick(() => {
        // 需要將這兩個(gè)斷言放到 Vue.nextTick 中執(zhí)行,因?yàn)樗鼈冃枰?nbsp;DOM 刷新之后才會(huì)生效
        expect(wrapper.find('ul.comments').isVisible()).toBe(true);
        expect(wrapper.find('ul.comments').html()).toContain(comment);
    })
});

這樣一來(lái),父組件之前的測(cè)試用例都能正常通過了,但是子組件測(cè)試用例還是沒有通過:

因?yàn)楦缸咏M件之間也還沒有實(shí)現(xiàn)對(duì)應(yīng)的事件觸發(fā)和處理代碼,我們?cè)谧咏M件中編寫點(diǎn)贊/取消點(diǎn)贊按鈕的事件觸發(fā)邏輯如下:

<button class="vote-up" v-if="!comment.voted" @click="$emit('voteToggle', index)">點(diǎn)贊</button>
<button class="vote-down" v-if="comment.voted" @click="$emit('voteToggle', index)">取消點(diǎn)贊</
button>

然后在父組件中編寫對(duì)應(yīng)的事件監(jiān)聽和處理代碼如下:

<template>
    <div>
        ...
        <comment-list ref="comments" :comments="comments" @voteToggle="voteToggle"></comment-list>
    </div>
</template>


<script>
import CommentList from "./CommentList.vue";
export default {
    ...
    methods: {
        ...
        voteToggle(index) {
            this.comments[index].voted = !this.comments[index].voted;
        }
    }
}
</script>

此時(shí),子組件通過 $emit 事件觸發(fā)機(jī)制與父組件通信的測(cè)試用例就通過了,當(dāng)然這個(gè)只限于子組件已經(jīng)將消息通知給父組件,

至于父組件是否處理成功,則需要在父組件測(cè)試用例中編寫相應(yīng)的測(cè)試代碼:

it('監(jiān)聽子組件觸發(fā)的 voteToggle 事件函數(shù)并進(jìn)行處理'function ({
    // Given
    wrapper.setData({
        comments: [
            {
                content'測(cè)試評(píng)論',
                votedfalse
            }
        ]
    })
    expect(wrapper.vm.comments[0].voted).toBe(false);

    // When
    wrapper.vm.$refs.comments.$emit('voteToggle'0);

    // Then
    expect(wrapper.vm.comments[0].voted).toBe(true);
});

測(cè)試通過,表明父組件可以正常處理子組件通過 $emit 觸發(fā)的事件函數(shù):

最后,我們?cè)俚阶咏M件測(cè)試文件 comment-list.spec.js 中編寫第三個(gè)測(cè)試用例,測(cè)試如果評(píng)論的 voted 屬性為 true,對(duì)應(yīng)的按鈕渲染邏輯是否正常:

it('如果評(píng)論狀態(tài)是已點(diǎn)贊,則按鈕狀態(tài)為取消點(diǎn)贊', () => {
    wrapper.setProps({
        comments: [
            {
                content'測(cè)試評(píng)論',
                votedtrue
            }
        ]
    });
    expect(wrapper.props('comments')[0].voted).toBe(true);
    wrapper.vm.$nextTick(() => {
        let button = wrapper.find('button.vote-down');
        expect(button.isVisible()).toBe(true);
        expect(button.text()).toBe('取消點(diǎn)贊');
    })
});

測(cè)試通過,表明父子組件之間的通信可以順暢進(jìn)行,父子組件都可以正常工作:

實(shí)際項(xiàng)目中,無(wú)論是新增評(píng)論還是評(píng)論點(diǎn)贊,都需要對(duì)數(shù)據(jù)和狀態(tài)進(jìn)行持久化,這就涉及到后端接口的調(diào)用,那么如何在 Vue 組件中測(cè)試接口調(diào)用呢,限于篇幅,學(xué)院君將在下篇教程給大家演示。

本系列教程首發(fā)在Laravel學(xué)院(laravelacademy.org),你可以點(diǎn)擊頁(yè)面左下角閱讀原文鏈接查看最新更新的教程。

瀏覽 49
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)
評(píng)論
圖片
表情
推薦
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 美女裸体网站国产| 天天视频黄色| 亚洲综合91| 欧美日韩精品久久久免费观看| 欧美性猛交一区二区三区精品 | 国产精品久久久久久久久夜色| 操逼无码| 亚洲三级av| 毛片A片| 精品无码久久久久久久久app | 一级黄色片在线观看| 人人操人人爱人人拍| 日韩AV无码一区二区| 春色av| 亚洲艹| 亚洲高清无码播放| 无码在线视频播放| 日韩中文字幕在线免费观看| 热热AV| 国产人国产视频成人免费观看…| 一区二区三区久久久| 99久久性爱| 亚洲色情在线观看| 一级视频免费观看| 日本爱爱免费| а√天堂中文最新版8| 91精品国产一区二区| 东京热一区二区| 乱伦小说五月天| 影音先锋日韩精品| 强奸乱伦制服丝袜| 中国熟睡妇BBwBBw| 最近最经典中文MV字幕| 天堂va欧美va亚洲va在线| 亚洲国产免费| 五月婷婷黄色| 在线天堂9| 自拍视频在线观看| av三级片在线播放| 日逼欧美| 国产91在线中日| 成人黄色视频网站在线观看| 欧美日韩狠狠操在线观看视频| 乱伦视频91| 日本无码一区二区| 亚洲精品国产AV婷婷| 日韩乱伦小说| 欧美洲成人网站| 国产在线你懂得| 思思在线视频| 亚洲字幕| 羽月希奶水饱胀在线播放| 欧美性爱在线视频| 夜夜躁狠狠躁| 免费观看黄色电影| 日本三级片网站在线观看| 毛茸茸BBBBBB毛茸茸| 蜜臀91| 中文字幕在线观看网| 能看的av网站| 中文字幕资源站| 97久久一区二区| 国产人人干| 成人综合在线观看| 色情视频在线观看| 性爱AV| 不卡的一区二区| 亚洲在线观看视频| 69国产精品无码免费| 精产国品一区二区区别| 国产中文字幕在线免费观看| 欧美午夜福利在线观看| 日本少妇BBw| 色九| 欧美久久婷婷| 精品久久久久久久久久久| 日韩中文字幕成人| 欧美性夜黄A片爽爽免费视频| 特黄特色免费大片| 婷婷精品国产一区二区三区日韩| 国产成人宗合| 超碰人人在线观看| 国产无码高清| 久热re| 黄色欧美视频| 91成人小视频| 久久一区| 热久久伊人| 五月天婷婷在线无码| 亚洲日韩欧美在线观看| 亚洲伊人在线| 制服乱伦| 国产伦理一区| 51成人网| 成人69AV| 天天做天天干| 77久久| 无码不卡视频在线观看| 农村老太HD肉HD| 国产aa| 亚洲.无码.制服.日韩.中文字幕| 91麻豆大奶巨乳一区白虎| 黄色免费看视频| 欧美性BBwBBwBBwHD| 影音先锋av中文字幕| 久久中文字幕无码| 91日本| 色色综合热| 色网在线| 激情六月丁香| 日韩无码二级| www.日本黄色视频| 亚洲午夜福利一区二区三区| 蜜桃av在线播放| 少妇人妻一区二区三区| 亚洲激情综合| 国产精品国产精品国产专区不52 | 久久免费视频1| 日韩v欧美v日本v亚洲v国产v| 中文日韩欧美| 蜜桃亚洲AV无码一区二区三区| 亚洲色色频| 在线观看日韩AV| AV777777| 中文字幕一区二区三区四区| 日本黄色电影在线| 亚洲无遮挡| 男女草逼| 人妻无码不卡| 色丁香在线| 亚洲AV成人无码久久精品麻豆| 国产精品无码在线播放| 国产精品成人3p一区二区三区 | 超碰九色| 黄色电影免费网站| 啪啪国产| 大香蕉午夜视频| 黄色亚洲无码| 国产特级毛片| 欧美色视频一区二区三区在线观看 | 天天插天天射| 九一亚洲精品| 四房婷婷| 亚洲欧美v| 免费人成视频在线播放| 国产偷拍精品视频| 中国一级A片| 亚洲中文字幕成人| 国产中文字幕亚洲综合欧美| 牛牛精品一区二区| 午夜福利免费在线观看| 国产黄色在线| 日本国产精品| 日本黄色免费在线观看| 久草资源视频| 色五月在线| 日本国产视频| 91人妻日韩人妻无码专区精品 | 五月色丁香| 人人爽人人操人人爱| 殴美色色网| av无码中文字幕| 中文不卡在线| 亚洲国产成人精品女人久久| 黑人av| 你懂的在线观看| 人人免费操| 51国产视频| 色色色色色欧美网| 毛片区| 92久久| 2018中文字幕第一页| 欧美操B在线| 内射毛片| 在线色| 丰满人妻一区二区三区免费| 色播视频在线观看| 操逼第二页| 色婷婷久久| 日韩一二三区| 午夜福利三级| 无码中文在线| 久久一级A片| 日韩图片区小说视频区日| 强伦轩农村人妻| 人人爱,人人操| 性九九九九九九| www.午夜福利| 国产一级a毛一级a做免费的视频| 激情婷婷五月天| 熟妇槡BBBB槡BBBB| 久久er99| 黄色大片在线播放| 成人毛片在线大全免费| 国产非洲欧美在线| 国产一级黄色| av免费在线播放| 国产精品无码7777777| 伊人综合大香蕉| 熟女高潮| 欧美一级性爱在线观看| 国产精品视频一区二区三区在线观看 | 蜜桃AV无码一区二区三区| 色片免费| 一级a毛片| 德国肥妇熟妇BBwBBw| 青草中文娱乐网在线| 色噜噜狠狠色综无码久久合欧美| 国产精品永久| 日韩在线成人| 亚洲日韩欧美一区二区| 成人无码区免费AV片| 91精品国产一区二区三区| 国产18禁网站| 欧美V亚洲| 手机在线看片av| 精品國產一區二區三區久久蜜月| 少妇在线观看| 最新一区二区| 日韩视频一区二区| 无码一区二区三区在线| 九色影院| 一本道在线无码| 色五月中文字幕| 五月婷婷六月色| 亚洲另类天堂| 久久99精品久久久久久水蜜桃| 天天躁天干天干| 影音先锋色AV| 黑人一区二区三区四区| 国产系列第一页| 日韩少妇AV| 婷婷日韩在线| 成年人免费公开视频| 操逼操逼操逼操逼操逼操逼| 欧美一级特黄AAAAAA片在线视频| 日本一区二区三区四区| 欧美在线国产| 国产一区二区久久| 无码精品ThePorn| 亚洲专区免费| 中文字幕+乱码+中文乱码91| 黄色免费网站在线观看| 操东北老女人| 伊人在线视频| 水蜜桃在线视频| 日韩AV在线免费观看| www黄片| 免费无码高清| 丰臀肥逼高清视频电影播放| 特级丰满少妇免费观看| a片在线电影网| 成人激情片| 日本高清视频www| 国产一区免费视频| 级婬片AAAAAAA免费| 日皮视频在线观看免费| 在线一区观看| AAA精品| 国产1级a毛a毛1级a毛1级| 黄色福利视频在线观看| 波多野结衣大战黑人| 欧美性爱视频免费观看| 永久免费AV无码| 少妇精品久久久久久久久久 | 波多野结衣Av在线| 欧美色视频网| 亚洲国产视频在线观看| 亚洲va欧美ⅴa在线| 97免费视频在线观看| 久久久久亚洲AV无码网影音先锋 | 无码国产精品一区二区性色AV| 黄色爱爱视频| 国产人体视频| 欧美日韩免费在线| 中日韩免费视频| 色图欧美色图| 日产久久视频| 大屌色片| 波多野结衣高清av久久直播免| 亚洲成a人无码| 在线免费观看成人网站| 久久久久久久久久国产精品| 欧美成人高清视频| 日韩高清无码不卡| 久久99久久99久久99国内少妇精品 | 亚洲性爱专区| 久久精品视频播放| 91吴梦梦无码一区二区| 日本中文字幕中文翻译歌词| 亚洲小说区图片区都市| 五十路av| 欧美日韩久久| 午夜影院操| 91欧美精品成人AAA片| 青青草原在线视频免费观看| 亚洲三级在线视频| 天天色色综合| 亚洲精品秘一区二区三区蜜桃久| 嫩草视频在线观看免费网站| 国产欧美精品一区二区三区| 男女av免费观看| 午夜福利大香蕉| 操逼网站大全| 人人人操| 无码毛片在线观看| 无码成人在线| AV中文在线观看| 精精品人妻一区二区三区| 在线你懂的| 亚洲伦理一区二区| 日韩理论在线| 男人天堂视频网| 日日干天天干| 乱子伦一区二区三区视频在线观看| 久操免费在线观看| 免费无码又爽又黄又刺激网站 | 亚洲婷婷三级成人网| 安微妇搡BBBB搡BBBB日| 欧美综合亚洲| 美女乱伦视频| 婷婷操| 91福利视频网| 91视频你懂的| 五月婷婷在线视频| 能看的操逼网站| 国产精品V亚洲精品V日韩精品| 91人妻人人爽人人爽| 西西4444www无码精品| www.欧美视频| 国产调教视频| 日本三级久久| 成年免费视频| 88av在线| 天天草天天爽| 欧美成人第一页| 黄色视频在线免费观看高清视频| 国产av播放| 国产精品秘麻豆免费版现看视频| 国产成人精品a区在线观看| 亚洲大片在线观看| 97人妻人人澡| 国产一级乱伦| 农村一级婬片A片AAA毛片古装 | 国产精品成人AV在线| 男女av在线观看| 五月丁香婷婷综合网| 黄色一区二区三区| 色情片免费看| 青青草成人网| 久久久久99| 亚洲无码在线免费| 国产久久免费视频| 免费无码婬片AAAA片老婦| a视频在线观看| 中文无码熟妇一区二区| 日一日射一射| 欧美激情伊人久久五月天| 动漫啪啪视频| 深爱婷婷| 五月天婷婷综合网| 亚洲欧美另类在线| 丝袜制服中文字幕无码专区| 91大神在线看| 亚洲日韩精品中文字幕| 国产A级毛片久久久久久| 中文字幕在线网站| 91精品久久久久久综合五月天| 51精品国产| 国产剧情自拍| 日韩亚洲欧美在线观看| 成人夜间视频| 中文字幕亚洲欧美| 在线免费人成视频| 成人黄色性爱视频| 成人区123| 一区二区三区四区精品视频| 久久丁香五月婷婷五月天激情视频 | 爆草美女| 熟妇高潮一区二区高潮| 欧美一級黃色A片免費看| 欧美激情网| 97AV在线| 91欧美黑人| 影音先锋国产AV| 蜜桃精品一区二区三区美女| 亚洲综合在线观看视频| 亚洲婷婷三级成人网| 精品蜜桃秘一区二区三区在线播放 | 大香蕉伊人影院| 三级乱伦视频| 熟妇人妻中文字幕无码老熟妇| 婷婷无码成人精品俺来俺去| 日韩黄色网址| 免费在线观看AV网站| 一级久久| 亚洲天堂av网| 中文字幕免费看高清| 懂色av蜜臀av粉嫩av分享| 欧美精品无码久久久精品酒店| 欧美一级性爱视频| 国产乱码一区二区三区| 色婷婷视频在线| 欧美精品不卡| 日逼黄片| 无码黄页| 韩国一区二区三区在线观看| 韩国无码一区二区三区| 午夜传媒一区二区三区| 影音先锋一区二区三区| www.三级片| 一区二区三区四区不卡| 日韩欧美精品在线观看| 免费无码国产| 黄色成人在线观看| 一二三区免费视频| 福利大香蕉| 成人欧美大片黄18| 亚洲欧美另类色图| 欧美三级视频| 尤物视频在线| 亚洲Av无码午夜国产精品色软件 | 有免费的欧美操逼视频吗| 午夜香蕉| 久久精品久久久久久久| 人人干人人操人人爱| 尤物免费视频| 亚洲群交视频| 大橡胶伊人网| 蜜桃视频成人app| 三级无码在线播放| 殴美亚洲一流| 91人妻网| 免费A片在线看| 韩国AV三级| 亚洲熟女视频| 新BBWBBWBBWBBW| 韩国三级HD中文字幕2019年| 久久666| 91.n| 2015中文字幕黄色视频| 日韩精品三级片| 在线观看免费黄网站| 亚洲色在线视频| 亚洲视频二区| 天堂av在线免费观看| 久久成人在线视频| 黄片在线免费观看视频| 精品国产天线2024| 国产欧美第一页| 殴美亚洲一流| 亚洲免费视频在线| 天天射天天射| 日韩a在线观看| 男人操女人网站| 91视频网站| 五月婷婷一区| 在线小黄片| 大香蕉青娱乐| 大香蕉操B| 福利一区二区视频网| 2014天堂网| 国产无套免费网站69| 成人免费黄色视频网站| 一级A片黃色A片| 亚洲第一中文字幕网| 翔田千里珍藏版无码| 欧美极品视频| 四虎麻豆| 国产淫荡视频| 亚洲二区无码| AV你懂得| 中文无码av| 波多野结衣成人在线| 成人视频一区| 高清无码在线视频观看| 色视频网| 高清色视频| 热久久亚洲中文字幕| 天堂视频在线| 4438成人网| 国产a毛片| 日韩欧美国产精品综合嫩V| 亚洲国产欧美在线| 18成人在线观看| 久久激情国产| 欧美成人18| 91久色| 亚州激情| 欧美群交在线观看| 成人A片免费视频| 逼逼影院| 免费电影日本黄色| 91破处网站| 人妖黃色一級A片| 国产激情免费| A片免费在线观看| 国产成人在线免费观看| 亲子乱AⅤ一区二区三区| 口爆吞精在线| 国内自拍av| 亚洲天堂网在线视频| 国产美女精品视频| 蜜臀AV一区二区| 国产精品嫩草久久久久yw193| 亚洲精品系列| 中文无码日本高潮喷水| 国产女人操逼视频| 丁香婷婷色五月激情综合三级三级片欧美日韩国 | 91N视频| 日韩无码黄色片| 蜜桃av秘一区二区三区| 日本三级片在线| 另类老妇奶性BBWBBw| 91无码人妻传媒tv| 91在线无码| 五月丁香影院| 国产91在线播放| 天天色天天干天天日| 婷婷成人电影| 无码黄色片| 五十路av| 天天爽视频| 亚洲无码成人网站| 少妇毛片| 无码av在线播放| 搡BBBB搡BBB搡我瞎了| 无码AV网站| AA无码| 黄色片网站在线观看| 色欲99| av女人天堂| 无码一区二区三区四区五区| 爱搞搞就要搞| 69AV视频| 亚色网址| 精品中文字幕在线播放| 日韩99热| 亲子乱AV一区二区| 色婷婷AV在线观看| 91国在线视频| 亚洲高清无码中字| 亚洲成a人| 国产网站免费| 中文在线观看免费视频| 在线观看av网站| 欧美一级成人| 操逼激情网| 丁香五月婷婷久久| 中文字幕在线免费看线人| 在线观看日韩AV| 天天干中文字幕| 亚洲av高清无码| 四虎黄色| 日韩一级黄色视频| 91熟女丰满原味| 国产成人精品无码片区在线观91 | 日韩精品综合| 免费的毛片| 日韩一级欧美一级| 中文字幕AV在线播放| 亚洲任你操超碰在线| 国产性爱电影网| 中文在线а√天堂8| 成人A片免费在线观看| 53岁露大奶熟女偷情贴吧| 国产亚洲色婷婷久久99精品| 91国产在线播放| 专业操老外| 欧美狠狠操| 亚洲操逼网| 婷婷国产成人精品| 日韩欧美偷拍| 中国一级片| 少妇人妻精品| 欧美成人第一页| 色哟哟精品| 好吊一区二区三区| 国产麻豆精品ThePorn| 在线操逼视频| 韩日在线视频| 911精品国产一区二区在线| 日日爱爱| 高清免费无码| 性爱AV| 97干在线| 无码123区| 成人福利网| 欧亚毛片| 一本色道精品久久一区二区三区| 亚洲综合图色40p| 黄色一级片免费观看| 精品一区二区ww| 国产做受91| 亚洲AV无码第一区二区三区蜜桃 | 亚洲无码在线免费| 成人欧美一区二区三区黑人免费 | 黄色a级片| 色综合久久久无码中文字幕999| 国产香蕉在线| 蜜臀在线视频| 欧美日韩综合| 天堂av在线免费观看| 激情深爱| 少妇做爱视频| 国产欧美在线免费观看| 亚洲一卡二卡三卡四卡免| 老婆中文字幕乱码中文乱码| 国产乱码一区二区三区的解决方法| 午夜AV大片| 国产人成| 日韩美在线| www免费视频| 婷婷色AV| 国产群交| 手机无码在线播放| 国产无套进入免费| 亚洲av在线免费观看| 伊人色女操穴综合网| 日韩少妇AV| 开心五月激情婷婷| 成人欧美一区二区三区黑人免费 | 俺去俺来也WWW色老板| 91久久久无码国产一区二区三区| 奇米超碰| 国产精品扒开腿做爽爽爽视频| 男人天堂视频网| 51无码| 一级aa免费视频| 天天肏天天肏| JUY-579被丈夫的上司侵犯后的第7天,我| 亚洲中文自拍| 国产九九热视频| www.18禁| 操你啦青青草| 久久综合在线| 国产精品精品| 天天爽天天做| 国产无遮挡又黄又爽又色视频| 久久嫩草精品久久久久| 伊人网站视频在线| 国产成人综合在线| 大香蕉999| 人妻少妇被猛烈进入中文字幕 | 在线播放高清无码| 国产一级a毛一级a做免费图片| 五月天婷婷乱伦| 免费人成视频在线播放| 国产91福利| 日韩AA视频| 人妻熟女在线| 18XXX亚洲HD护士JD| 色丁香五月| 国产日韩在线观看视频| 日本欧美在线观看高清| 久久久久久久免费无码| 狠狠躁日日躁夜夜躁2022麻豆 | 国产成人秘在线观看免费网站 | 人人操人人爱人人摸| 日韩大片在线观看| 91视频在线免费观看| 超碰九一| 亚洲成人免费网站| 大黑逼AV| 国产高清无码18| 撸一撸成人在线做爱视频。| 日本A片免费| 在线成人| 日韩色爱| 嫩小槡BBBB槡BBBB槡漫画| 国产综合色婷婷精品久久| 亚洲精品麻豆| 日韩欧美中文在线| 高清人妻无码| 免费看黄A级毛片成人片| 北条麻妃99精彩视频| 蜜臀av在线免费观看| 色妹子综合| 国产精品在线免费观看| 婷婷在线观看视频| 不卡无码免费视频| 精品码一区二在线观看| 久久久www成人免费毛片| 大香蕉国产精品视频| 久久青留社区金玉| 在线观看免费黄色| 东京热久久综合色五月老师| 99久在线视频| 91视频导航| 91超碰在线播放| 被黑人猛躁4O次高潮| 91麻豆精品国产91久久久久久| 黃色A片一级一级一级久别的草原 欧美中文字幕在线观看 | 欧美一区二区三区成人片下载| 巨乳无码噜噜噜久久久| 91丝袜一区在线观看| 中文字幕在线观看1| 大地资源38页| 欧洲成人在线播放| 91无码AⅤ在线| 99成人乱码一区二区三区在线| 欧美又粗又长| 中文无码人妻少妇| 久久无码高清| 成人资源站| 青青自拍视频| 黄色av网| 熟女一区二区| av无码毛片| 黄色片免费观看| 国产成人精品无码| 中文字幕三级av片| 国产精品国产三级国产AⅤ原创 | 欧美操逼网址| 黄色毛片av| 操逼视频在线看| 97人妻一区| 99热最新网址| 欧美A片免费| 欧美色图在线视频| 大香蕉福利导航| 91人人妻人人操| 精品免费国产一区二区三区四区的使用方法 | 午夜mm| 国产成人精品视频免费| AV资源在线免费观看| 99久久久成人国产精品| 中文字幕在线播放视频| 日本无码区| 久操免费在线视频| 少妇一级婬片内射视频| 欧美精品99久久久| 无码免费毛片一区二区三区古代| 美妇肥臀一区二区三区-久久99精品国 | 亚洲不卡在线| 青青草视频在线免费观看| 精品少妇人妻一区二区| 北条麻妃久久视频在线播放| 授乳奶水x88MAV| 青草久操| 91久久欧美极品XXXXⅩ| 超碰成人AV| 操日视频| 精品在线免费视频| 免费日韩无码| 国产精品久久久久久久久A| 国产成人无码永久免费| 69av网站| 亚洲一区二区三区在线++中国| 亚洲AV无码乱码国产精品蜜芽| 亚洲午夜激情| 日韩日逼| 国产色综合视频| 91色色色色| www亚洲无码A片贴吧| 久久肉| 国产污视频| 五月激情综合网| 成人高清无码在线观看| 日韩精品免费一区二区在线观看| 超碰免费在线观看| 久久久久9| 黄色小说在线播放| 国产三级片网站| 国产乱子伦视频国产印度| 色五月网站| 撸撸操在线视频观看只有精品 | 91国语对白| 麻豆91蜜桃传媒在线观看| 成人AV免费| 欧美一区视频| 亚洲日韩欧美中在线| 视频一区在线播放| 超碰中文字幕| 91探花视频在线观看| 国产aaaaaaaaaaaaa| 操骚逼视频| 99免费观看视频| av在线一区二区三区| 国产伦子伦一级A片免费看老牛| 婷婷五月天久久| 国产精品色视频| 国产三级精品三级在线观看| 能看的黄色视频| 91操操| 九色PORNY蝌蚪视频| AV无码一区二区三区| 欧美色图狠狠操| 天天日天天干天天射| 天堂在线中文| 精品视频在线观看免费| 激情开心站| 91大神免费观看| 日韩A片无码ⅩXXXX| 国产精品蜜| 北条麻妃三区| 最好看2019中文在线播放电影| 亚洲天堂中文字幕| 黄色视频亚洲| 91AV免费观看| 人妻在线免费视频| 日本绿色精品视频| 国产欧美一区二区人妻喷水| 日韩一二三| 国产成人高潮毛片| 91一级特黄大片| 澳门无码视频| 中文字幕精品久久久久人妻红杏Ⅰ | 国产白丝精品91爽爽久久| 亚洲黄色av网站| 成人福利影视| 在线观看亚洲视频| 97A片在线观看播放| 成人精品视频网站| 777大香蕉| 伊人大香蕉婷婷| 日本亚洲欧洲免费| 一区二区三区在线看| 91探花视频精选在线播放| 狠狠狠狠狠狠狠| 东方av在线免费观看| 成人精品一区日本无码网站suv/ | 大香蕉伊人网在线| 国产亚洲午夜久久久成人电影 | 欧美另类激情| 97人妻人人揉人人躁人人| 中文在线字幕免费观| 精品国产毛片| 美女被操网站免费| 国产乱子伦一区二区三区视频| 国产精品无码永久免费A片| 国产精品色| 色婷婷亚洲精品天天综合| 国产h视频在线观看| 日老女人的逼| 欧美高清无码视频| 久久av影院| 成人色视| 无码成人毛片| 98在线++传媒麻豆的视频| 久久久性爱| 77777色| 亚洲无码影音先锋| 成人三级AV| 草久影院| 黄色视频网站国产| 天天色AV| 五月天国产| 精东影业AV无码精品| 国产视频一二三| 久久情| 免费在线看A| 久久久久久免费| 加勒比国产在线| 免费爱爱视频网站| 欧美色精品| 444444在线观看免费高清电视剧木瓜一 | AV黄片| 一区视频| 国产黄色在线| 色网在线| 国产在线一区二区| 久久久在线| 黄色欧美视频| 婷婷久久五月天| 操b网站| 丰满人妻一区二区三区| 中文字幕亚洲视频| 91乱伦视频| 黑人操逼| 就去se超碰| Av天堂图片在线| 国产高清无码片| 国产无码在线影院| 国产色秘乱码一区二区三区| 午夜免费播放观看在线视频| 久久91人妻无码精品蜜桃HD| 国产黄色AV片| 99久久黄色| 韩日高清无码| 中字幕视频在线永久在线观看免费| 成人中文字幕无码| 欧美一级片网站| 五月天成人导航| 亚洲群交视频| 色吊丝中文字幕| 免费无码婬片AAAA片老婦 | 成人福利在线观看| AV久草| 手机成人在线视频| 亚洲加勒比在线| 一区二区黄色| 日本久久网| 婷婷在线视频| 丰满人妻一区二区免费看| 麻豆少妇| 人人妻人人澡人人DⅤD| 亚洲国产精品VA在线看黑人 | 一区二区三区电影高清电影免费观看 | 亚洲精品A片|