日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

简而言之,JUnit:测试隔离

發布時間:2023/12/3 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 简而言之,JUnit:测试隔离 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作為顧問,我仍然經常遇到程序員,他們對JUnit及其正確用法的理解最多。 這使我有了編寫多部分教程的想法,從我的角度解釋了要點。

盡管存在一些有關使用該工具進行測試的好書和文章,但是也許可以通過本動手實踐的方法來使一兩個額外的開發人員對單元測試感興趣,這將使他們值得付出努力。

注意,本章的重點是基本的單元測試技術,而不是JUnit功能或API。 在后面的帖子中將討論更多后者。 用于描述這些技術的術語是基于Meszaros的xUnit測試模式 [MES]中提供的定義。

以前簡而言之在JUnit上

本教程從“ Hello World”一章開始,介紹了測試的基本知識:如何編寫,執行和評估它。 它繼續進行后期測試結構 ,解釋了通常用于構建單元測試的四個階段(設置,練習,驗證和拆卸)。

這些課程還附有一個一致的示例,以使抽象概念更易于理解。 它被證明了,一個測試用例是如何一點一點地增長的-從幸福的道路開始到極端的案例測試,包括預期的例外。

總的來說,要強調的是,測試不僅是簡單的驗證機,還可以作為一種低級規范。 因此,應該以人們可能想到的最高編碼標準來開發它。

依存關系

一個巴掌拍不響
諺語

本教程中使用的示例都是關于編寫一個簡單的數字范圍計數器,該計數器從給定值開始傳遞一定數量的連續整數。 指定單元行為的測試用例可能在摘錄中看起來像這樣:

public class NumberRangeCounterTest {private static final int LOWER_BOUND = 1000;private static final int RANGE = 1000;private static final int ZERO_RANGE = 0;private NumberRangeCounter counter= new NumberRangeCounter( LOWER_BOUND, RANGE );@Testpublic void subsequentNumber() {int first = counter.next();int second = counter.next();assertEquals( first + 1, second );}@Testpublic void lowerBound() {int actual = counter.next();assertEquals( LOWER_BOUND, actual );}@Test( expected = IllegalStateException.class )public void exeedsRange() {new NumberRangeCounter( LOWER_BOUND, ZERO_RANGE ).next();}[...] }

注意,這里我使用了一個非常緊湊的測試用例,以節省空間,例如使用隱式夾具設置和異常驗證。 有關測試結構化模式的詳細討論,請參見上一章 。

還要注意,我堅持使用JUnit內置功能進行驗證。 我將在另一篇文章中介紹特定匹配器庫( Hamcrest , AssertJ )的優缺點。

雖然NumberRangeCounter的初始描述足以使本教程開始,但細心的讀者可能已經注意到,該方法顯然有些幼稚。 例如,考慮程序的進程可能會終止。 為了能夠在系統重新啟動時正確地重新初始化計數器,它至少應保留其最新狀態。

但是,保持計數器的狀態涉及通過不屬于單元(也就是被測系統(SUT))的軟件組件(數據庫驅動程序,文件系統API等)訪問資源(數據庫,文件系統等)。 這意味著單位取決于這些組件,Meszaros用術語“ 依賴組件”(DOC)描述 。

不幸的是,這在許多方面帶來了與測試有關的麻煩:

  • 根據我們無法控制的組件,可能會阻礙對測試規范的體面驗證。 試想一下有時可能不可用的真實世界的Web服務。 盡管SUT本身可以正常工作,但這可能是導致測試失敗的原因。
  • DOC也可能會減慢測試的執行速度。 為了使單元測試能夠充當安全網 ,正在開發的系統的完整測試套件必須經常執行。 僅當每個測試運行得很快時,這才可行。 再次考慮Web服務示例。
  • 最后但并非最不重要的一點是,例如,由于使用了較新版本的第三方庫,DOC的行為可能會意外更改。 這說明了如何直接依賴我們無法控制的組件使測試變得脆弱 。
  • 那么,我們該如何解決這個問題呢?

    隔離–單元測試員的SEP字段

    所謂SEP是我們不能看,或者不看,還是我們的大腦并沒有讓我們看到的,因為我們認為這公司的S omebody?LSEP&roblem ...。
    福特長官

    由于我們不希望單元測試依賴于DOC的行為,也不希望它們過慢或脆弱,因此我們努力使我們的單元盡可能不受軟件所有其他部分的影響。 簡單地說,我們使這些特殊問題成為其他測試類型的關注點-因此開玩笑的SEP Field報價。

    通常,此原理稱為SUT隔離,表示希望分別測試關注點并保持測試彼此獨立 。 實際上,這意味著應該以一種可以將每個DOC替換為所謂的Test Double的方式來設計單元, Test Double是Test [MES1]的輕量級替代組件。

    與我們的示例相關,我們可能決定不直接從單元本身內部訪問數據庫,文件系統等。 相反,我們可以選擇將此問題分為屏蔽接口類型,而不必關心具體實現的外觀。

    盡管從低級設計的角度來看,這種選擇當然也是合理的,但它并不能說明在整個測試過程中如何創建,安裝和使用雙重測試。 但是在詳細介紹如何使用雙打之前,還有一個主題需要討論。

    間接輸入和輸出

    到目前為止,我們的測試工作僅以SUT的直接輸入和輸出面對我們。 即, NumberRangeCounter每個實例都配有一個下限和一個范圍值(直接輸入)。 并且在每次調用next() ,SUT返回一個值或引發一個異常(直接輸出),用于驗證SUT的預期行為。

    但是現在情況變得更加復雜了。 考慮到DOC為SUT初始化提供了最新的計數器值, next()的結果取決于該值。 如果DOC以這種方式提供SUT輸入,我們將討論間接輸入 。

    相反,假設next()每次調用都應保持計數器的當前狀態,則我們沒有機會通過SUT的直接輸出進行驗證。 但是我們可以檢查計數器的狀態是否已委托給DOC。 這種委托稱為間接輸出 。

    有了這些新知識,我們應該準備繼續進行NumberRangeCounter示例。

    使用存根控制間接輸入

    從我們學到的知識來看,將計數器的狀態保存分為自己的類型可能是個好主意。 這種類型會將SUT與實際的存儲實現隔離開來,因為從SUT的角度來看,我們對如何實際解決保留問題不感興趣。 因此,我們引入了CounterStorage接口。

    盡管到目前為止還沒有真正的存儲實現,但我們可以使用測試倍數來代替。 由于接口尚無方法,因此此時創建測試雙重類型很簡單。

    public class CounterStorageDouble implements CounterStorage { }

    為了以松散耦合的方式為NumberRangeCounter提供存儲,我們可以使用依賴注入 。 通過兩次存儲測試來增強隱式夾具設置,然后將其注入到SUT中,如下所示:

    private CounterStorage storage;@Beforepublic void setUp() {storage = new CounterStorageDouble();counter = new NumberRangeCounter( storage, LOWER_BOUND, RANGE );}

    修復編譯錯誤并運行所有測試后,該欄應保持綠色,因為我們尚未更改任何行為。 但是現在我們希望對NumberRangeCounter#next()的第一次調用尊重存儲的狀態。 如果存儲提供的值n在計數器的定義范圍內,則next()的第一次調用也應返回n ,這由以下測試表示:

    private static final int IN_RANGE_NUMBER = LOWER_BOUND + RANGE / 2;[...]@Testpublic void initialNumberFromStorage() {storage.setNumber( IN_RANGE_NUMBER );int actual = counter.next();assertEquals( IN_RANGE_NUMBER, actual );}

    我們的測試IN_RANGE_NUMBER必須提供確定性的間接輸入,在我們的情況下為IN_RANGE_NUMBER 。 因此,它使用setNumber(int)來配備值。 但是由于尚未使用存儲,因此測試失敗。 要更改此設置,是時候聲明CounterStorage的第一個方法了:

    public interface CounterStorage {int getNumber(); }

    這使我們可以像這樣實現雙重測試:

    public class CounterStorageDouble implements CounterStorage {private int number;public void setNumber( int number ) {this.number = number;}@Override public int getNumber() {return number;} }

    如您所見,double通過返回由setNumber(int)饋送的配置值來實現getNumber() setNumber(int) 。 以這種方式提供間接輸入的測試雙稱為存根 。 現在,我們將能夠實現NumberRangeCounter的預期行為并通過測試。

    如果您認為get / setNumber用不好的名字來描述存儲的行為,我同意。 但這簡化了職位的演變。 請感到受邀提出構思周到的重構建議…

    間諜的間接輸出驗證

    為了能夠在系統重啟后恢復NumberRangeCounter實例,我們希望計數器的每個狀態更改都將保留。 這可以通過在每次調用next()時將當前狀態分配到存儲中來實現。 因此,我們向DOC類型添加了一個setNumber(int)方法:

    public interface CounterStorage {int getNumber();void setNumber( int number ); }

    新方法與用于配置存根的簽名具有相同的簽名,這真是一個奇怪的巧合! 在使用@Override修改該方法后,很容易將我們的夾具設置重新用于以下測試:

    @Testpublic void storageOfStateChange() {counter.next();assertEquals( LOWER_BOUND + 1, storage.getNumber() );}

    與初始狀態相比,我們期望在調用next()之后,計數器的新狀態將增加一個。 更重要的是,我們希望這個新狀態作為間接輸出傳遞到存儲DOC。 不幸的是,我們沒有看到實際的調用,因此我們在double的局部變量中記錄了調用的結果。

    如果記錄的值與預期值相匹配,則驗證階段將推斷出正確的間接輸出已傳遞到DOC。 上面以最簡單的方式描述的記錄狀態和/或行為以供以后驗證,也稱為間諜。 因此,使用這種技術的測試兩倍被稱為間諜 。

    那Mo子呢?

    還有一種可能通過使用模擬來驗證next()的間接輸出。 這種類型的double的最重要的特征是,間接輸出驗證是在委托方法內部執行的。 此外,它還可以確保實際調用了預期的方法:

    public class CounterStorageMock implements CounterStorage {private int expectedNumber;private boolean done;public CounterStorageMock( int expectedNumber ) {this.expectedNumber = expectedNumber;}@Overridepublic void setNumber( int actualNumber ) {assertEquals( expectedNumber, actualNumber );done = true;}public void verify() {assertTrue( done );}@Overridepublic int getNumber() {return 0;} }

    CounterStorageMock實例通過構造函數參數配置了期望值。 如果setNumber(int) ,則立即檢查給定值是否與預期值匹配。 一個標志存儲該方法已被調用的信息。 這允許使用verify()方法檢查實際的調用。

    這就是使用模擬的storageOfStateChange測試的外觀:

    @Testpublic void storageOfStateChange() {CounterStorageMock storage= new CounterStorageMock( LOWER_BOUND + 1 );NumberRangeCounter counter= new NumberRangeCounter( storage, LOWER_BOUND, RANGE );counter.next();storage.verify();}

    如您所見,測試中沒有剩下任何規格驗證。 通常的測試結構有些扭曲,這似乎很奇怪。 這是因為驗證條件是在夾具設置中間的運動階段之前指定的。 驗證階段僅保留模擬調用檢查。

    但是作為回報,模擬可以在行為驗證失敗的情況下提供精確的堆棧跟蹤,這可以簡化問題分析。 如果再次查看間諜解決方案,您將認識到失敗跟蹤只會指向測試的驗證部分。 沒有關于實際上導致測試失敗的生產代碼行的信息。

    這與模擬完全不同。 跟蹤將使我們能夠準確識別setNumber(int)調用位置。 有了這些信息,我們可以輕松地設置斷點并調試問題。

    由于這篇文章的范圍,我只限于對存根,間諜和模擬進行雙重測試。 有關其他類型的簡短說明,您可以查看Martin Fowler的文章TestDouble ,但是可以在Meszaros的xUnit測試模式書[MES]中找到所有類型及其變型的深入說明。

    在Tomek Kaczanowski的書《 使用JUnit和Mockito [KAC]進行實際單元測試 》中可以找到基于測試雙重框架的模擬與間諜的良好比較(請參閱下一節)。

    閱讀本節后,您可能會覺得編寫所有這些測試雙打是繁瑣的工作。 毫不奇怪,已編寫庫來大大簡化雙重處理。

    測試雙重框架–應許之地?

    如果您只有錘子,那么一切看起來就像釘子
    諺語

    開發了一些框架以簡化使用測試雙打的任務。 不幸的是,就精確的測試雙重術語而言,這些庫并不總是一件好事。 例如, JMock和EasyMock專注于模擬 ,而Mockito卻以間諜為中心。 也許這就是為什么大多數人都在談論嘲笑 ,而不管他們實際上在使用哪種類型的雙人間。

    但是,有跡象表明 ,Mockito當時是首選的雙重測試工具。 我猜這是因為它提供了良好的閱讀流利的接口API,并通過提供詳細的驗證失敗消息來彌補上述間諜提及的缺點。

    無需詳細介紹,我提供了一個storageOfStateChange()測試版本,該版本使用Mockito進行間諜創建和測試驗證。 請注意, mock和verify是Mockito類型的靜態方法。 通常的做法是將靜態導入與Mockito表達式一起使用以提高可讀性:

    @Testpublic void storageOfStateChange() {CounterStorage storage = mock( CounterStorage.class );NumberRangeCounter counter = new NumberRangeCounter( storage, LOWER_BOUND, RANGE );counter.next();verify( storage ).setNumber( LOWER_BOUND + 1 );}

    關于是否使用此類工具的文章很多。 例如,羅伯特·C·馬丁(Robert C. Martin) 更喜歡手寫雙打 ,邁克爾·博爾迪沙(Michael Boldischar)甚至認為嘲笑框架有害 。 在我看來,后者只是在簡單地濫用 ,而我一次不同意馬丁所說的“寫那些嘲笑是微不足道的”。

    在發現Mockito之前,我多年來一直在使用手寫雙打。 立刻,我被賣給了流利的存根語法 (一種直觀的驗證方式),我認為擺脫那些笨拙的雙精度類型是一種改進。 但這當然是情人眼中的。

    但是,我經歷了雙重測試工具的誘惑,誘使開發人員過度操作。 例如,用雙倍替換第三方組件非常容易,否則創建起來可能會很昂貴。 但這被認為是不好的做法, 史蒂夫·弗里曼 ( Steve Freeman)和納特·普賴斯 ( Nat Pryce )詳細解釋了為什么只應模擬自己擁有的類型 [FRE_PRY]。

    第三方代碼要求進行集成測試和抽象適配器層 。 后者實際上就是我們在示例中通過引入CounterStorage所指示的內容。 而且,由于我們擁有適配器,因此可以安全地將其替換為雙適配器。

    一個容易進入的第二個陷阱是編寫測試,其中一個測試雙精度返回另一個測試雙精度。 如果到了這一點,您應該重新考慮正在使用的代碼的設計。 這可能會破壞demeter的定律 ,這意味著對象耦合在一起的方式可能有問題。

    最后但并非最不重要的一點是,如果您考慮使用雙重測試框架,則應記住,這通常是影響整個團隊的長期決策。 由于代碼風格的一致性,混合使用不同的框架可能不是最好的主意,即使您僅使用一種框架,每個(新)成員也必須學習特定于工具的API。

    在開始廣泛使用雙打測試之前,您可能會考慮閱讀比較經典測試與模擬測試的馬丁·福勒的“ 莫克斯不是存根” ,或羅伯特·C·馬丁的“ 何時模擬” ,其中介紹了一些啟發式方法,以找出雙打和太多之間的黃金比例。加倍。 或如Tomek Kaczanowski所說:

    “很高興您可以嘲笑一切,是嗎? 放慢速度,并確保您確實需要驗證交互。 你可能沒有。 [KAC1]

    結論

    簡而言之,JUnit的這一章討論了單元依賴性對測試的影響。 它說明了隔離的原理,并說明了如何通過用測試雙倍替換DOC來將其付諸實踐。 在這種情況下,提出了間接輸入和輸出的概念,并描述了其與測試的相關性。

    該示例通過動手示例加深了知識,并介紹了幾種測試double類型及其使用目的。 最后,簡短介紹了測試雙重框架及其優缺點,從而結束了本章。 希望它具有足夠的平衡性,可以使您對該主題有一個全面的了解,而又不致于瑣碎。 改進建議當然受到高度贊賞。

    本教程的下一篇文章將介紹Runners和Rules等JUnit功能,并通過正在進行的示例展示如何使用它們。

    參考文獻

    [MES] xUnit測試模式,Gerard Meszaros,2007年


    [MES1] xUnit測試模式,第5章,原理:隔離SUT,Gerard Meszaros,2007年


    [KAC]使用JUnit和Mockito進行實用單元測試,附錄C。TestSpy vs. Mock,Tomek Kaczanowski,2013年

    [KAC1]錯誤測試,良好測試,第4章,可維護性,托梅克·卡扎諾夫斯基,2013年

    [FRE_PRY]不斷增長的面向對象軟件,由測試指導,第8章,史蒂夫·弗里曼(Steve Freeman),納特·普萊斯(Nat Pryce),2010年

    翻譯自: https://www.javacodegeeks.com/2014/09/junit-in-a-nutshell-test-isolation.html

    總結

    以上是生活随笔為你收集整理的简而言之,JUnit:测试隔离的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    999久久| 色天天中文 | 草久久久久久久 | 97在线视频免费观看 | 超碰97在线看 | 夜夜夜| 亚洲精品一区二区18漫画 | 四虎海外影库www4hu | 日韩精品一区二区三区免费观看视频 | 9草在线| 插久久| 欧美淫aaa免费观看 日韩激情免费视频 | av中文字幕在线电影 | 亚洲激情在线观看 | 精品特级毛片 | 丰满少妇在线 | 中文字幕日本在线 | 青青草国产在线 | 日韩欧美高清一区二区 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 91人人揉日日捏人人看 | 久久久久久蜜av免费网站 | 香蕉视频免费看 | 日韩成人免费在线电影 | av免费看在线 | 日日摸日日爽 | 色婷婷88av视频一二三区 | 天天天天天天天天操 | 久久99久久99 | 精品在线你懂的 | 一区二区三区手机在线观看 | 国产精品黄色av | 欧美先锋影音 | 亚洲高清不卡av | 国产亚洲精品久久网站 | 国产精品1区2区3区在线观看 | 人人玩人人添人人澡97 | 狠狠色丁香久久婷婷综合丁香 | 激情综合六月 | 色橹橹欧美在线观看视频高清 | 午夜在线日韩 | 深夜免费小视频 | 国产粉嫩在线观看 | 国产乱对白刺激视频在线观看女王 | 国产一级小视频 | 亚洲国产丝袜在线观看 | 韩国av免费观看 | 久久久久久不卡 | 免费国产亚洲视频 | 午夜精品一二区 | 99久久99久久精品国产片果冰 | 精品国产一区二区三区不卡 | 欧美不卡视频在线 | 黄色小视频在线观看免费 | 亚洲精品久久久久中文字幕m男 | 国产一区二区三区在线免费观看 | 成人国产精品 | 91黄色免费看 | 亚洲理论片 | 91亚洲精品国产 | 日韩激情久久 | 黄色一区二区在线观看 | 丰满少妇对白在线偷拍 | 国产一级大片在线观看 | 夜又临在线观看 | 久久国产精品精品国产色婷婷 | 中日韩在线 | 久久亚洲综合色 | 色五月成人 | 久草在线视频资源 | 日韩中文字幕视频在线观看 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 97天天综合网 | 在线观看中文字幕视频 | 夜色成人av | 久久国产精品一区二区三区四区 | 激情狠狠干 | 狠狠干天天色 | 亚洲国产美女精品久久久久∴ | 最新日本中文字幕 | 久久精品毛片基地 | 在线成人免费电影 | 亚洲国产日韩一区 | 天堂网av 在线 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 极品久久久久久久 | 国内少妇自拍视频一区 | av中文字幕在线免费观看 | 亚洲一区久久 | 日韩专区中文字幕 | 在线观看av大片 | 免费看的av片 | 久久99精品久久久久久 | 狠狠躁日日躁夜夜躁av | 亚洲不卡123 | 97在线视频免费观看 | 黄色小网站在线观看 | 一区二区三区在线观看免费视频 | 免费亚洲黄色 | 97人人射| 视频在线观看99 | 国产精品亚洲综合久久 | 激情五月av | 亚洲在线视频免费观看 | 超碰日韩在线 | 久久成人黄色 | 午夜精品电影 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 中文字幕av在线不卡 | 久久精品国产亚洲a | 久久97久久97精品免视看 | 97超碰超碰 | 丁香婷婷在线 | a特级毛片 | 日本激情动作片免费看 | 国产中文字幕视频在线观看 | 99久久er热在这里只有精品66 | 永久免费av在线播放 | 丰满少妇在线观看 | 国产精品视频资源 | av久久在线 | 国产91大片 | 人人爱爱人人 | 蜜臀aⅴ国产精品久久久国产 | 国产在线成人 | 成人av一区二区在线观看 | 97视频人人澡人人爽 | 一区二区三区视频 | 日韩高清一 | 亚洲精选久久 | 亚洲精品国产精品国自产观看浪潮 | av五月婷婷 | 最近中文字幕完整高清 | 99久久精品免费看国产免费软件 | 黄色毛片在线 | 青草视频免费观看 | 丁香免费视频 | 黄色成年片 | 国产一级在线 | 国产在线观看污片 | 色婷婷久久久综合中文字幕 | 国产精品久久久久久久久久尿 | 国产精品一区二区久久国产 | 91精品国产自产老师啪 | 狠狠色噜噜狠狠狠狠2022 | 精品国产免费一区二区三区五区 | 久久久久免费网 | avlulu久久精品| 999热线在线观看 | 亚洲精品免费在线播放 | 精品国产成人在线 | 国产视频久久 | 日本婷婷色 | 久久久久国产成人精品亚洲午夜 | 狠狠色丁香婷婷综合久久片 | 波多野结衣理论片 | 超碰97在线资源 | 久久精彩视频 | 国产丝袜| 欧美精品乱码99久久影院 | 国产麻豆视频在线观看 | 免费看成人片 | 亚洲综合丁香 | 国产高清中文字幕 | 成人午夜影院在线观看 | 色吧av色av| 国产视频资源在线观看 | 亚洲精品久久久久久久不卡四虎 | 日b视频在线观看网址 | 视频在线观看99 | 青青草视频精品 | 伊人国产视频 | 欧美成a人片在线观看久 | 国产电影黄色av | 国产福利免费在线观看 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 欧美国产日韩在线视频 | 欧美一级黄色视屏 | 91热爆在线观看 | 六月久久婷婷 | 日本中文字幕在线看 | 亚洲欧美视频在线播放 | 波多野结衣在线视频一区 | 在线免费亚洲 | 中文字幕韩在线第一页 | 中文av网站 | 欧美久久久久 | 久久免费黄色网址 | 狠狠色丁香婷婷综合久小说久 | 伊人午夜视频 | 日三级在线 | 国产成人一级电影 | www.日本色 | 久久精品欧美一区二区三区麻豆 | 人人插人人艹 | 亚洲精品视频在线观看免费视频 | va视频在线观看 | 日本精品va在线观看 | 99riav1国产精品视频 | 在线看av网址 | 91av在线免费视频 | 免费高清在线观看成人 | 亚洲高清在线精品 | 亚洲精品自在在线观看 | 蜜臀久久99精品久久久酒店新书 | 久久精品视频免费 | 欧美另类交人妖 | 亚洲综合激情 | 久久99国产一区二区三区 | 在线观看成人毛片 | 久艹在线播放 | 国产女人40精品一区毛片视频 | 玖玖综合网| 久久精品日产第一区二区三区乱码 | 久久y | 亚洲欧美视频一区二区三区 | 日韩三级精品 | 久久激情综合网 | 免费亚洲婷婷 | 久久久久女人精品毛片九一 | 三级免费黄 | 色www免费视频 | 日韩一区二区三区高清免费看看 | 欧美人牲 | 亚洲精品高清视频在线观看 | 国产一级精品在线观看 | 黄色在线看网站 | 18岁免费看片 | 久久美女电影 | 在线视频日韩欧美 | 日韩中文字幕亚洲一区二区va在线 | 日韩a在线播放 | 91社区国产高清 | 天天做天天爱天天爽综合网 | 亚洲精品视频在线观看免费视频 | 久久综合亚洲鲁鲁五月久久 | 免费日韩一区二区三区 | 国产成人久久 | 亚洲天堂精品视频 | 成人黄色在线 | 激情开心网站 | 狠狠狠狠狠狠狠狠干 | 成人a级网站| 成人免费视频网 | 亚洲最新av在线网站 | 中文字幕二区在线观看 | 欧美天天干 | 日韩成人精品一区二区 | 国内视频 | 久久精品a| 国产九色91 | 国产视频中文字幕 | 国产无区一区二区三麻豆 | 在线免费亚洲 | 国产精品高清一区二区三区 | 中文字幕二区 | 婷婷av色综合 | 国产精品自产拍在线观看桃花 | 日本精品久久久久影院 | 992tv在线观看| 免费黄色网址网站 | 99亚洲精品在线 | 亚洲一区二区视频在线播放 | 国产精品涩涩屋www在线观看 | 1024手机基地在线观看 | 天天艹天天爽 | 久久久穴 | 日韩免费电影一区二区三区 | 91精品国产92久久久久 | 国产精品美女免费看 | 亚洲欧美视频一区二区三区 | 久久综合影院 | 国产久草在线 | 这里只有精彩视频 | 久久精品欧美一区 | 青青久草在线视频 | 亚洲好视频 | 亚洲精品福利在线 | 四虎国产精品免费观看视频优播 | 国产成人精品一区二区三区在线 | 国产午夜三级一区二区三桃花影视 | 国产精品一区二区久久 | 91麻豆网 | 在线视频专区 | 99久热在线精品视频 | 精品久久五月天 | 国产一级二级在线观看 | 视频一区二区精品 | avhd高清在线谜片 | 国产黄色精品在线 | 国产精品入口麻豆www | 色先锋av资源中文字幕 | 色网站中文字幕 | 日韩久久精品一区二区三区下载 | 欧美网站黄色 | 久久综合久久综合这里只有精品 | 亚洲午夜av久久乱码 | 最近字幕在线观看第一季 | 免费在线一区二区 | 九九久久国产 | 超碰在线日韩 | 久久精品一区二区三区四区 | 国产精品久久久久久久久免费看 | 亚洲国产日韩一区 | 在线观看国产日韩欧美 | 久久精品影片 | 国产精品久久在线 | 国产一区视频在线 | 国产一区在线视频播放 | 欧美性直播 | 又湿又紧又大又爽a视频国产 | 精品一二三区视频 | 欧美日产一区 | 超碰国产在线播放 | 99久久99| 国产成人一区二区三区免费看 | 久久久91精品国产一区二区精品 | 蜜桃视频色 | 婷婷性综合 | 97电影手机版 | 亚洲成人家庭影院 | 国产精品 999| 亚洲观看黄色网 | 国产精品aⅴ | 亚洲欧美一区二区三区孕妇写真 | 国产精品久久久久久久久久白浆 | 欧美日韩中文字幕视频 | 久久av观看 | 黄网站app在线观看免费视频 | 日韩av影视| 月下香电影| 欧美精品一区在线 | 国产欧美在线一区二区三区 | 久久免费视频网 | 免费午夜网站 | 天天天射 | 国产又黄又猛又粗 | 亚洲精品视频免费观看 | av免费电影在线 | 成人午夜片av在线看 | 中文字幕中文中文字幕 | 色综合色综合色综合 | 美女网站视频免费都是黄 | 在线国产中文 | 狠狠操操操 | 亚洲一区精品二人人爽久久 | 久久久久国产一区二区三区四区 | 久久久www免费电影网 | 狠狠色丁香婷婷综合基地 | 色鬼综合网 | 在线国产不卡 | 日韩久久久久久久久久久久 | 国产伦精品一区二区三区无广告 | 五月丁婷婷| 久久精品首页 | 天天操天天添 | 综合网婷婷 | 色偷偷中文字幕 | 亚洲一级影院 | 极品国产91在线网站 | 伊人精品在线 | 欧美大码xxxx | 国产日韩欧美在线看 | 婷婷www| 成年人免费av网站 | 国产亚洲婷婷免费 | 中文字幕亚洲五码 | 夜夜爽88888免费视频4848 | 日本中文字幕在线播放 | 天天摸日日摸人人看 | 中文字幕日韩伦理 | 亚洲一二视频 | 韩国av一区二区三区 | 日韩高清免费电影 | 久久久精品 | 国产精品成人一区二区三区吃奶 | 欧美一级黄色网 | 亚洲国产免费网站 | 在线观看网站黄 | 日韩高清不卡在线 | 国产精品久久电影观看 | 深爱激情五月婷婷 | 四虎在线影视 | 亚洲免费一级电影 | 99国产在线 | 日韩高清网站 | av视屏在线播放 | 日本久久免费电影 | 97超级碰碰碰碰久久久久 | 黄色软件在线看 | 久久五月天综合 | 国产精品igao视频网网址 | 久久久网| 免费看的黄色 | 麻豆视频免费网站 | 午夜影院在线观看18 | 久久亚洲日本 | 亚洲第一区精品 | 亚洲资源视频 | 国产成人中文字幕 | 国产精品wwwwww | 日韩欧美精品在线视频 | 久久久久久久久久久久久国产精品 | 精品视频在线观看 | 免费看日韩片 | 国产va精品免费观看 | 免费精品在线视频 | 狠狠色香婷婷久久亚洲精品 | 337p西西人体大胆瓣开下部 | 五月激情姐姐 | 国产一区在线播放 | av资源中文字幕 | 欧美性生活久久 | 女人18毛片a级毛片一区二区 | 黄色最新网址 | 日日摸日日爽 | 精品免费一区二区三区 | 91av视频免费在线观看 | 麻豆视频www | 欧美xxxxx在线视频 | 中文字幕在线观看资源 | 一级欧美日韩 | 操操操日日日干干干 | 中文字幕在线观看免费观看 | 亚洲一级电影视频 | 99久在线精品99re8热视频 | 色黄www小说 | 成人黄色小视频 | 亚洲精品麻豆 | 四虎成人精品在永久免费 | 亚洲最大免费成人网 | 日本最新中文字幕 | 国产黄色精品在线 | 国产午夜精品在线 | 国产亚洲精品久久久网站好莱 | 国产成人99久久亚洲综合精品 | 国产精彩在线视频 | 国内精品久久久久久中文字幕 | 国产精品99精品久久免费 | 中文字幕韩在线第一页 | 麻豆国产精品永久免费视频 | 九九久久国产精品 | 美女免费网站 | 91网址在线看 | 国产精品一区在线观看你懂的 | 中文字幕亚洲在线观看 | 黄色免费在线视频 | av超碰在线观看 | 日韩视频一二三区 | 日韩一区二区三区高清在线观看 | 欧美大片mv免费 | 中文字幕电影网 | av韩国在线 | 久久亚洲国产精品 | 亚洲欧洲精品在线 | 日本精品视频在线观看 | 麻豆视传媒官网免费观看 | 97免费中文视频在线观看 | 国产成人av网 | 五月天精品视频 | 成人黄色在线视频 | 亚洲精品自拍视频在线观看 | 久久久久国产一区二区三区 | 日韩欧美观看 | 99精品一区 | 91视频中文字幕 | 亚洲成a人片综合在线 | 亚洲精品视频大全 | www激情com| 久久久99国产精品免费 | 免费观看一区二区 | 日韩美女一级片 | 中文字幕美女免费在线 | 国产99在线| 国产一级视频免费看 | 国产精品国产三级国产aⅴ入口 | 亚洲成av人片在线观看www | 久久精品一区二 | 高清在线观看av | 热久久精品在线 | 免费在线观看日韩欧美 | 亚洲色图美腿丝袜 | 国产精品自产拍在线观看 | 在线观看中文字幕网站 | 在线视频福利 | 93久久精品日日躁夜夜躁欧美 | 91精品啪在线观看国产81旧版 | 久久好看免费视频 | 日韩小视频 | 日本中文字幕在线免费观看 | 日日干天天爽 | 日日爽视频| 欧美日韩精品免费观看视频 | 亚洲播放一区 | 欧美午夜精品久久久久久孕妇 | 超碰在线人人97 | 国产亚洲精品久久久久久移动网络 | 91麻豆精品国产91 | 久久不卡av | 韩国视频一区二区三区 | 国产精品在线看 | 91网站在线视频 | 五月天久久激情 | 久久精品视 | av网站免费看 | 国产打女人屁股调教97 | 69视频在线 | 久久高清视频免费 | 亚洲精品欧洲精品 | 精品久久91| 国产精品色婷婷视频 | 日韩城人在线 | 黄色小说在线免费观看 | 国产手机视频在线观看 | 中国美女一级看片 | 午夜久久网 | 久久久精品免费观看 | 亚洲免费av观看 | 伊人亚洲综合网 | 不卡av在线 | 亚洲最大的av网站 | 国产中文在线播放 | 精品免费在线视频 | 国产精品久久久久久久久久久杏吧 | 日日干夜夜草 | 午夜精品成人一区二区三区 | 中文字幕在线视频第一页 | 91污污视频在线观看 | 国产精品视频内 | 亚洲视屏一区 | 久草在线 | 国产精品 日韩 欧美 | 91热精品 | 91视频91自拍 | 精品国产三级 | 91免费在线播放 | 天天添夜夜操 | 日韩网站中文字幕 | 久久精品国产久精国产 | 亚洲国产精品成人精品 | 91人人澡 | 操操操av| 久久久999免费视频 日韩网站在线 | 久久99精品国产麻豆婷婷 | 在线观看第一页 | 欧美日韩亚洲在线观看 | 91精品在线免费观看 | 亚州精品天堂中文字幕 | 国产99在线 | 久久久精华网 | 久久香蕉电影 | 婷婷久久五月天 | 99re中文字幕 | 91精品久久香蕉国产线看观看 | 人人澡av | 五月天综合网站 | 成人国产精品久久久久久亚洲 | 中文乱码视频在线观看 | 97超碰影视 | 911av视频| 亚洲精品免费观看视频 | 亚洲精品国产拍在线 | 久草在线综合网 | 深爱激情五月网 | 婷婷激情五月综合 | 国产日韩中文在线 | 激情婷婷亚洲 | 丁香花在线视频观看免费 | 国产黄色资源 | 五月婷婷激情网 | 香蕉影视 | 91九色精品国产 | 最新成人在线 | 综合色亚洲 | 天天在线视频色 | 久久久久欠精品国产毛片国产毛生 | 亚洲精品国产精品乱码不99热 | 亚洲在线成人精品 | 亚洲激情视频在线 | 国内成人精品视频 | 欧美激情视频一二区 | 欧美日产在线观看 | 人人澡人人添人人爽一区二区 | 日韩av在线看 | 在线观看91精品国产网站 | 久久爱影视i | 国产免费xvideos视频入口 | 超级av在线 | 亚洲成人黄色在线观看 | 精品一区二区免费在线观看 | 91免费视频网站在线观看 | 色综合婷婷久久 | 免费观看av网站 | 亚洲国产精品传媒在线观看 | 国产亚洲一区二区在线观看 | 日本中文字幕在线看 | 国产美女视频免费观看的网站 | 又黄又色又爽 | 国产成人亚洲精品自产在线 | 日韩小视频 | 国偷自产中文字幕亚洲手机在线 | 国产一区在线观看免费 | av线上看| 97精品伊人 | 日本精品久久久久影院 | 黄色毛片电影 | 天天色草| 色婷婷视频在线 | 最近乱久中文字幕 | aaa日本高清在线播放免费观看 | 五月婷婷丁香激情 | 久草在在线视频 | 日本高清中文字幕有码在线 | 99视频国产精品免费观看 | 在线免费av网站 | 欧美精品在线一区二区 | 婷婷色网视频在线播放 | 婷婷综合激情 | 成人免费xxxxxx视频 | 综合天天 | 久久高清毛片 | 国产高清久久久久 | 国产成人久久 | 欧美精品一区二区三区一线天视频 | 最新久久久 | 国产综合精品一区二区三区 | 日女人电影 | 国偷自产中文字幕亚洲手机在线 | 精品女同一区二区三区在线观看 | 中文字幕观看av | 国产精品国产三级国产aⅴ无密码 | 色综合中文字幕 | 国产裸体视频网站 | 69亚洲乱 | 亚洲天堂色婷婷 | 国产一二三在线视频 | 亚洲自拍偷拍色图 | 99视频精品全国免费 | 中文字幕在线观看免费观看 | 欧美做受高潮电影o | 在线成人小视频 | 久久久久久久电影 | 日韩在线观看一区二区三区 | 久草在线观看资源 | 色婷婷视频在线观看 | 激情视频在线观看网址 | 色91在线 | 97国产情侣爱久久免费观看 | 又黄又爽免费视频 | 成人h在线观看 | 一区二区三区污 | 99久久精品国产免费看不卡 | 国产午夜亚洲精品 | 免费视频在线观看网站 | 丁香九月激情综合 | 久久综合免费 | 色婷婷天天干 | 日韩欧美视频在线观看免费 | 少妇啪啪av入口 | 国产精品一区免费在线观看 | 婷婷六月中文字幕 | 在线国产片 | 伊人五月天.com | 欧美精品乱码久久久久久按摩 | 麻豆视频在线免费观看 | 超碰97国产精品人人cao | 日韩欧美精品一区二区 | 国产色一区 | 欧美一区二区三区在线 | 99在线精品视频 | 欧美综合色 | 三级黄色免费片 | 精品一区二区三区久久 | 婷婷在线综合 | av电影亚洲 | 午夜精品久久久久 | 国际精品久久 | av三区在线| 亚洲免费观看在线视频 | 久久99国产综合精品免费 | 欧美午夜久久 | 亚洲视频2 | 色资源在线| 美女视频黄网站 | 国产成人福利在线观看 | 国产精品久久久久久久久久久久午夜 | 久久人人97超碰精品888 | 日韩精品一区二区三区电影 | 国产成人精品久久亚洲高清不卡 | 狠狠狠狠狠狠狠 | 国产精品亚洲片夜色在线 | 午夜精品在线看 | 亚洲理论在线观看 | 91日韩精品一区 | 美女黄色网在线播放 | 黄色小网站免费看 | 亚洲精品视频在线观看网站 | 国产.精品.日韩.另类.中文.在线.播放 | 日本精品免费看 | 久久久久免费精品国产小说色大师 | 麻豆91视频| 911久久 | 成人国产精品久久久 | 四虎成人免费观看 | 激情伊人五月天久久综合 | 国产高清在线观看av | 久久久久久麻豆 | av电影在线观看 | 精品av在线播放 | 中文字幕在线网 | 四虎成人精品 | 日日草av | 亚洲黄色激情小说 | 日本精品一区二区在线观看 | 婷婷网站天天婷婷网站 | 最近日韩中文字幕中文 | 国产r级在线观看 | 欧美激情另类 | 在线观看视频你懂得 | 一区二区成人国产精品 | 亚洲日本va中文字幕 | 欧美激情视频在线免费观看 | 月下香电影 | 成人高清在线观看 | 国产成人黄色片 | 四虎国产视频 | 亚洲精品麻豆视频 | 国产亚洲在线观看 | 韩日精品中文字幕 | 国产精品欧美激情在线观看 | 久久香蕉电影 | 91精品国产综合久久久久久久 | 天天爽网站 | 国产精品久久久久久久妇 | 麻豆视频在线 | av在线永久免费观看 | 中文字幕在线看视频 | 成人在线免费观看视视频 | 久久这里只有精品视频首页 | 亚洲mv大片欧洲mv大片免费 | 国产精品三级视频 | 精品自拍网 | 超碰在线日本 | 国产精品av免费 | 99久久这里有精品 | 欧美性色综合网站 | 国产精品久久一区二区三区不卡 | 一区二区 不卡 | 在线亚洲人成电影网站色www | 国内精品久久久久影院一蜜桃 | 日韩精品视频免费专区在线播放 | 天天射色综合 | 在线蜜桃视频 | 国产精品毛片完整版 | 国产二区电影 | 成人久久久久 | 最新日韩在线观看视频 | 成人小电影在线看 | 区一区二区三区中文字幕 | 日韩在线观看视频在线 | 91麻豆精品国产91久久久久久久久 | 天天干天天摸天天操 | 日韩伦理片一区二区三区 | 国产中文字幕亚洲 | 久久看免费视频 | 日韩免费高清在线 | 超碰在线最新地址 | 欧美久草视频 | 中文网丁香综合网 | 国产精品21区 | 国产在线观看不卡 | 天天曰夜夜操 | 国产精品在线看 | 天干啦夜天干天干在线线 | 国产精品成人自产拍在线观看 | 日韩欧美视频在线 | 亚州黄色一级 | 午夜黄色影院 | 又黄又爽又无遮挡的视频 | 欧美视频在线二区 | 蜜桃视频成人在线观看 | 插插插色综合 | 激情网在线观看 | 成人免费在线电影 | 黄色av免费在线 | 日韩激情av在线 | 国产一区自拍视频 | 免费av网站在线 | 射久久 | 亚洲欧洲一区二区在线观看 | 一区二区三区在线免费观看 | 国产在线一区二区 | av在线日韩 | 2021国产视频 | 国产精品免费久久久久久 | 免费看的黄色 | 97精品超碰一区二区三区 | 日韩在线色视频 | 欧美精品在线观看一区 | 九九综合久久 | 国产精品久久嫩一区二区免费 | 久久久久久久久久久黄色 | 欧美激情综合五月色丁香小说 | 日韩在线网 | 婷婷av网站| 亚洲精品www. | 精品视频www | 92精品国产成人观看免费 | 久久的色 | 亚洲国产视频网站 | 成人羞羞视频在线观看免费 | 久久精品久久精品久久 | 丁香婷婷深情五月亚洲 | www.av免费 | 激情五月婷婷综合 | 亚洲狠狠干 | 夜色资源网 | 国产一二三区av | 99视频在线免费看 | 亚洲日本va午夜在线电影 | 亚洲精品在 | 亚洲精品播放 | 中文在线免费一区三区 | 日韩专区在线观看 | 狠狠狠色丁香综合久久天下网 | 国产日韩视频在线播放 | 香蕉影视| 九九九视频在线 | 国产九色在线播放九色 | 人人超在线公开视频 | 亚洲精品av中文字幕在线在线 | 日韩av在线免费播放 | 亚洲精品动漫在线 | 亚洲最大av网站 | 免费在线观看av不卡 | 欧美成人在线免费 | 久久99久国产精品黄毛片入口 | 欧日韩在线视频 | 91天堂素人约啪 | 欧美视频二区 | 视频在线在亚洲 | 婷婷免费视频 | 99爱国产精品 | 欧美色噜噜噜 | 91精品国产高清自在线观看 | 欧美精品二区 | 国产精品初高中精品久久 | 精一区二区 | 国产中文字幕亚洲 | 99c视频高清免费观看 | 国产在线观看你懂得 | 99r在线| 久久午夜国产精品 | 精品免费视频 | 国产成人区 | www好男人 | 91在线产啪| 久久色在线观看 | 久99久精品| 国产精品视频在线观看 | 久久另类小说 | 91手机视频 | 色吧久久 | 久久精品综合视频 | 精品免费国产一区二区三区四区 | 亚洲视屏一区 | 九九精品视频在线 | 亚洲a资源 | 国产成人a v电影 | 色综合五月 | 五月天激情综合 | 国产精品高清免费在线观看 | 伊人五月天综合 | 日本精品视频一区 | av高清免费在线 | 天天激情综合网 | 中文字幕成人在线观看 | 免费视频资源 | 久久久综合香蕉尹人综合网 | a在线播放| 亚洲理论片 | 97免费| 黄污视频网站 | 日韩高清一二区 | 精品国产一区二区三区蜜臀 | 中文字幕影片免费在线观看 | 一本色道久久精品 | 日本久久久久久久久久 | 在线观看成人毛片 | 亚洲va欧美va人人爽 | 毛片a级片 | 天天插天天色 | 99精品免费视频 | 麻豆一区二区三区视频 | 色婷婷国产精品一区在线观看 | av噜噜噜在线播放 | 超碰在线官网 | 久久 国产一区 | 99久久久久久久久久 | 久久综合婷婷综合 | 成片免费观看视频 | 国产日韩精品一区二区三区在线 | 日韩在线短视频 | 99视频国产在线 | 日本激情视频中文字幕 | 欧洲精品在线视频 | 免费看一级片 | 久久婷婷色 | 日韩二区三区在线观看 | 一级黄色大片在线观看 | 中文字幕免费观看 | 天天操天天舔天天干 | 五月婷婷在线观看 | 播五月综合 | 久要激情网 | 欧美性色黄大片在线观看 | 国产成人精品免费在线观看 | 亚洲人成综合 | 国产91勾搭技师精品 | 久久久免费精品国产一区二区 | 免费观看一区二区三区视频 | 黄色1级大片 | 国产综合在线视频 | 91片在线观看 | 国产亚洲精品bv在线观看 | 手机av在线免费观看 | 92中文资源在线 | 91黄色免费网站 | 激情五月在线 | 日日日日 | 亚洲国产合集 | 久久国产福利 | 日韩在线欧美在线 | 国产看片免费 | 日韩在线国产精品 | 亚洲精品视频久久 | 精品久久久久久久久中文字幕 | 色综合久久久久综合99 | 久草免费资源 | 国产成人黄色av | 国产91粉嫩白浆在线观看 | 狠狠狠色 | 91九色在线 | 欧美性大战 | 中文字幕久久亚洲 | 奇米网444| 81精品国产乱码久久久久久 | a级国产乱理伦片在线观看 亚洲3级 | 国产视频精选 | 亚洲精品久久久久久中文传媒 | 深爱激情五月网 | 日韩欧美视频免费观看 | 日韩色av色资源 | 国产亚洲亚洲 | 中文字幕av在线免费 | 国产大片黄色 | av在线收看 | 成人在线视频免费观看 | 日日干天天干 | 日韩狠狠操 | 久久视频6 | 成人久久毛片 | 蜜臀久久99静品久久久久久 | 国产精品久久一区二区三区不卡 | www.午夜| 91精选在线观看 | 国产香蕉97碰碰久久人人 | 国产手机精品视频 | 欧美日韩在线播放 | 黄色毛片视频免费观看中文 | aav在线 | 四虎影视久久久 | 日韩欧在线 | 黄污网站在线 | 亚洲美女视频在线观看 | 日韩av在线一区二区 | 欧美性大胆 | 高潮毛片无遮挡高清免费 | 69精品人人人人 | 亚洲成年人在线播放 | 国产午夜精品久久久久久久久久 | 婷婷亚洲五月色综合 | 国产美女精品视频 | 国产精品乱码久久久 | 国产欧美日韩视频 | 天天干天天摸天天操 | 亚洲经典精品 | 国产精品美女视频 | 欧美性生活久久 | 色视频一区 | 2019天天干天天色 | 四虎影视成人永久免费观看视频 | 久久精品国产亚洲精品 | 婷婷色网址 | 亚洲精品黄色 | 中文字幕日韩国产 | 国产精品日韩久久久久 | 国产精品久久久久aaaa |