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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

idea内置junit5_JUnit的内置Hamcrest Core Matcher支持

發(fā)布時(shí)間:2023/12/3 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 idea内置junit5_JUnit的内置Hamcrest Core Matcher支持 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

idea內(nèi)置junit5

在通過JUnit和Hamcrest改善對(duì)assertEquals的文章中,我簡要討論了Hamcrest “ 核心 ”匹配器與JUnit的現(xiàn)代版本“結(jié)合”在一起的情況。 在那篇文章中,我特別關(guān)注了JUnit的assertThat(T,Matcher)靜態(tài)方法與Hamcrest核心is()匹配器的結(jié)合使用,該方法自動(dòng)包含在更高版本的JUnit中。 在本文中,我將介紹與最新版本的JUnit捆綁在一起的其他Hamcrest“核心”匹配器。

JUnit包括開箱即用的Hamcrest “核心”匹配器的兩個(gè)優(yōu)點(diǎn)是,無需專門下載Hamcrest,也無需在單元測試類路徑中明確包含它。 在查看更多方便的Hamcrest“核心”匹配器之前,重要的是要在此指出,我有意重復(fù)提及“核心” Hamcrest匹配器,因?yàn)镴Unit的最新版本僅提供“核心”( 并非全部 )Hamcrest匹配器自動(dòng)。 仍然需要單獨(dú)下載核心匹配器之外的任何Hamcrest匹配器,并在單元測試類路徑上明確指定。 了解什么是Hamcrest“核心”(以及在最新版本的JUnit中默認(rèn)情況下可用的匹配器)的一種方法是查看該程序包的基于Javadoc的API文檔 :

從JUnit提供的org.hamcrest.core軟件包的文檔中,我們可以找到以下匹配器(及其描述):

類 Javadoc類說明 覆蓋這里? AllOf <T> AnyOf <T> DescribedAs <T> 是<T> IsAnything <T> IsEqual <T> IsInstanceOf IsNot <T> IsNull <T> IsSame <T>
計(jì)算兩個(gè)匹配器的邏輯合。
計(jì)算兩個(gè)匹配器的邏輯和。
為另一個(gè)匹配器提供自定義描述。
裝飾另一個(gè)Matcher,保留其行為,但允許測試更具表現(xiàn)力。 再次
始終返回true的匹配器。 沒有
根據(jù)Object.equals(java.lang.Object)invokedMethod測試,該值是否等于另一個(gè)值?
測試值是否為類的實(shí)例。
計(jì)算匹配器的邏輯取反。
值是否為空?
該值與另一個(gè)值是同一對(duì)象嗎?

在我先前的演示Hamcrest is()匹配器與JUnit的assertThat()結(jié)合使用的文章中,我使用了IntegerArithmetic實(shí)現(xiàn)作為測試工具。 我將在這里再次使用它來演示其他一些Hamcrest核心匹配器。 為方便起見,該類復(fù)制如下。

IntegerArithmetic.java

package dustin.examples;/*** Simple class supporting integer arithmetic.* * @author Dustin*/ public class IntegerArithmetic {/*** Provide the product of the provided integers.* * @param firstInteger First integer to be multiplied.* @param secondInteger Second integer to be multiplied.* @param integers Integers to be multiplied together for a product.* @return Product of the provided integers.* @throws ArithmeticException Thrown in my product is too small or too large* to be properly represented by a Java integer.*/public int multiplyIntegers(final int firstInteger, final int secondInteger, final int ... integers){int returnInt = firstInteger * secondInteger;for (final int integer : integers){returnInt *= integer;}return returnInt;} }

在“ 使用JUnit和Hamcrest改進(jìn)assertEquals”中 ,我主要依靠is()來比較預(yù)期結(jié)果和實(shí)際結(jié)果,以測試整數(shù)乘法。 另一個(gè)選擇是使用equalTo匹配器,如下面的代碼清單所示。

使用Hamcrest equalTo()

/*** Test of multiplyIntegers method, of class IntegerArithmetic, using core* Hamcrest matcher equalTo.*/@Testpublic void testWithJUnitHamcrestEqualTo(){final int[] integers = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};final int expectedResult = 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 *13 * 14 * 15;final int result = this.instance.multiplyIntegers(2, 3, integers);assertThat(result, equalTo(expectedResult));}

盡管不是必需的,但有些開發(fā)人員喜歡將is和equalTo一起使用,因?yàn)樗鼈儗?duì)他們來說更流利。 這就是is的存在的原因:更流暢地使用其他匹配器。 我經(jīng)常equalTo()使用is() (暗示equalTo() ),如通過JUnit和Hamcrest改進(jìn)對(duì)assertEquals所討論的。 下一個(gè)示例演示了將is()匹配器與equalTo匹配器結(jié)合使用。

將Hamcrest equalTo()與is()結(jié)合使用

/*** Test of multiplyIntegers method, of class IntegerArithmetic, using core* Hamcrest matcher equalTo with "is" Matcher..*/@Testpublic void testWithJUnitHamcrestEqualToAndIsMatchers(){final int[] integers = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};final int expectedResult = 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 *13 * 14 * 15;final int result = this.instance.multiplyIntegers(2, 3, integers);assertThat(result, is(equalTo(expectedResult)));}

equalTo Hamcrest匹配器執(zhí)行類似于調(diào)用Object.equals(Object)的比較。 實(shí)際上,其比較功能依賴于底層對(duì)象的equals(Object)實(shí)現(xiàn)的使用。 這意味著最后兩個(gè)示例將通過,因?yàn)樗容^的數(shù)字在邏輯上是等效的。 當(dāng)想要確保更大的身份相等性時(shí)(實(shí)際上是相同的對(duì)象,而不僅僅是相同的邏輯內(nèi)容),可以使用Hamcrest sameInstance匹配器,如下面的代碼清單所示。 因?yàn)閿嘌允钦_的,所以也應(yīng)用了not匹配器,因?yàn)橹挥蓄A(yù)期的和實(shí)際的結(jié)果不是相同的實(shí)例,因此測試僅在“不”的情況下通過測試!

使用Hamcrest sameInstance()和not()

/*** Test of multiplyIntegers method, of class IntegerArithmetic, using core* Hamcrest matchers not and sameInstance.*/@Testpublic void testWithJUnitHamcrestNotSameInstance(){final int[] integers = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};final int expectedResult = 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 *13 * 14 * 15;final int result = this.instance.multiplyIntegers(2, 3, integers);assertThat(result, not(sameInstance(expectedResult)));}

有時(shí)需要控制從失敗的單元測試的斷言中輸出的文本。 JUnit包括核心Hamcrest匹配器asDescribed()來支持此功能。 下一個(gè)清單中顯示了這樣的代碼示例,代碼清單后的NetBeans IDE的屏幕快照中顯示了失敗測試(和相應(yīng)的斷言)的輸出。

將Hamcrest asDescribed()與sameInstance()一起使用

/*** Test of multiplyIntegers method, of class IntegerArithmetic, using core* Hamcrest matchers sameInstance and asDescribed. This one will assert a* failure so that the asDescribed can be demonstrated (don't do this with* your unit tests as home)!*/@Testpublic void testWithJUnitHamcrestSameInstanceDescribedAs(){final int[] integers = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};final int expectedResult = 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 *13 * 14 * 15;final int result = this.instance.multiplyIntegers(2, 3, integers);assertThat(result,describedAs("Not same object (different identity reference)",sameInstance(expectedResult)));}

當(dāng)關(guān)聯(lián)的單元測試斷言失敗時(shí),使用describedAs()允許報(bào)告更有意義的消息。

現(xiàn)在,我將使用另一個(gè)人為設(shè)計(jì)的類來幫助說明最新版本的JUnit可用的其他核心Hamcrest匹配器。 接下來顯示“需要測試”。

SetFactory.java

package dustin.examples;import java.lang.reflect.InvocationTargetException; import java.util.*; import java.util.logging.Level; import java.util.logging.Logger;/*** A Factory that provides an implementation of a Set interface based on* supplied SetType that indicates desired type of Set implementation.* * @author Dustin*/ public class SetFactory<T extends Object> {public enum SetType{ENUM(EnumSet.class),HASH(HashSet.class),SORTED(SortedSet.class), // SortedSet is an interface, not implementationTREE(TreeSet.class),RANDOM(Set.class); // Set is an interface, not a concrete collectionprivate Class setTypeImpl = null;SetType(final Class newSetType){this.setTypeImpl = newSetType;}public Class getSetImplType(){return this.setTypeImpl;}}private SetFactory() {}public static SetFactory newInstance(){return new SetFactory();}/*** Creates a Set using implementation corresponding to the provided Set Type* that has a generic parameterized type of that specified.* * @param setType Type of Set implementation to be used.* @param parameterizedType Generic parameterized type for the new set.* @return Newly constructed Set of provided implementation type and using* the specified generic parameterized type; null if either of the provided* parameters is null.* @throws ClassCastException Thrown if the provided SetType is SetType.ENUM,* but the provided parameterizedType is not an Enum.*/public Set<T> createSet(final SetType setType, final Class<T> parameterizedType){if (setType == null || parameterizedType == null){return null;}Set<T> newSet = null;try{switch (setType){case ENUM:if (parameterizedType.isEnum()){newSet = EnumSet.noneOf((Class<Enum>)parameterizedType);}else{throw new ClassCastException("Provided SetType of ENUM being supplied with "+ "parameterized type that is not an enum ["+ parameterizedType.getName() + "].");}break;case RANDOM:newSet = LinkedHashSet.class.newInstance();break;case SORTED:newSet = TreeSet.class.newInstance();break;default:newSet = (Set<T>) setType.getSetImplType().getConstructor().newInstance();break;}}catch ( InstantiationException| IllegalAccessException| IllegalArgumentException| InvocationTargetException| NoSuchMethodException ex){Logger.getLogger(SetFactory.class.getName()).log(Level.SEVERE, null, ex);}return newSet;} }

剛剛顯示了代碼的人為的類提供了使用其他Hamcrest“核心”匹配器的機(jī)會(huì)。 如上所述,可以將所有這些匹配與is匹配器一起使用,以提高語句的流暢性。 兩個(gè)有用的“核心”的匹配是nullValue()和notNullValue()這兩者在未來基于JUnit的代碼列表被證實(shí)(和is結(jié)合使用在一種情況下)。

使用Hamcrest nullValue()和notNullValue()

/*** Test of createSet method, of class SetFactory, with null SetType passed.*/@Testpublic void testCreateSetNullSetType(){final SetFactory factory = SetFactory.newInstance();final Set<String> strings = factory.createSet(null, String.class);assertThat(strings, nullValue());}/*** Test of createSet method, of class SetFactory, with null parameterized type* passed.*/@Testpublic void testCreateSetNullParameterizedType(){final SetFactory factory = SetFactory.newInstance();final Set<String> strings = factory.createSet(SetType.TREE, null);assertThat(strings, is(nullValue()));}@Testpublic void testCreateTreeSetOfStringsNotNullIfValidParams(){final SetFactory factory = SetFactory.newInstance();final Set<String> strings = factory.createSet(SetType.TREE, String.class);assertThat(strings, notNullValue());}

Hamcrest匹配器instanceOf也很有用,并在下一個(gè)代碼清單中進(jìn)行演示(一個(gè)單獨(dú)使用instanceOf的示例和一個(gè)與is一起使用的示例)。

使用Hamcrest instanceOf()

@Testpublic void testCreateTreeSetOfStringsIsTreeSet(){final SetFactory factory = SetFactory.newInstance();final Set<String> strings = factory.createSet(SetType.TREE, String.class);assertThat(strings, is(instanceOf(TreeSet.class)));}@Testpublic void testCreateEnumSet(){final SetFactory factory = SetFactory.newInstance();final Set<RoundingMode> roundingModes = factory.createSet(SetType.ENUM, RoundingMode.class);roundingModes.add(RoundingMode.UP);assertThat(roundingModes, instanceOf(EnumSet.class));}

到目前為止,許多Hamcrest核心匹配器都提供了更高的流暢性和可讀性,但出于更多原因,我喜歡接下來的兩個(gè)匹配器。 Hamcrest hasItem()匹配器檢查集合中指定項(xiàng)的存在,更有用的Hamcrest hasItems()匹配器檢查集合中多個(gè)規(guī)定項(xiàng)的存在。 在代碼中更容易看到這一點(diǎn),下面的代碼演示了它們的實(shí)際作用。

使用Hamcrest hasItem()和hasItems()

@Testpublic void testCreateTreeSetOfStringsHasOneOfAddedStrings(){final SetFactory factory = SetFactory.newInstance();final Set<String> strings = factory.createSet(SetType.TREE, String.class);strings.add("Tucson");strings.add("Arizona");assertThat(strings, hasItem("Tucson"));}@Testpublic void testCreateTreeSetOfStringsHasAllOfAddedStrings(){final SetFactory factory = SetFactory.newInstance();final Set<String> strings = factory.createSet(SetType.TREE, String.class);strings.add("Tucson");strings.add("Arizona");assertThat(strings, hasItems("Tucson", "Arizona"));}

有時(shí)需要測試某種測試方法的結(jié)果,以確保它滿足各種各樣的期望。 這就是Hamcrest allOf匹配器派上用場的地方。 此匹配器確保所有條件(表示為匹配器)都為真。 在下面的代碼清單中對(duì)此進(jìn)行了說明,該清單測試了一個(gè)斷言,即所生成的Set不為null,具有兩個(gè)特定的String且是TreeSet的實(shí)例。

使用Hamcrest allOf()

@Testpublic void testCreateSetAllKindsOfGoodness(){final SetFactory factory = SetFactory.newInstance();final Set<String> strings = factory.createSet(SetType.TREE, String.class);strings.add("Tucson");strings.add("Arizona");assertThat(strings,allOf(notNullValue(), hasItems("Tucson", "Arizona"), instanceOf(TreeSet.class)));}

為了演示Hamcrest核心“ anyOf”匹配器提供了現(xiàn)成的JUnit更新版本,我將使用另一個(gè)需要單元測試的可笑的Java類。

今天.java

package dustin.examples;import java.util.Calendar; import java.util.Locale;/*** Provide what day of the week today is.* * @author Dustin*/ public class Today {/*** Provide the day of the week of today's date.* * @return Integer representing today's day of the week, corresponding to* static fields defined in Calendar class.*/public int getTodayDayOfWeek(){return Calendar.getInstance(Locale.US).get(Calendar.DAY_OF_WEEK);} }

現(xiàn)在,我需要測試上述類中的唯一方法是否正確返回了代表星期幾的有效整數(shù)。 我希望我的測試確保返回代表星期天到星期六的一天的有效整數(shù),但是要測試的方法是這樣的,使得它可能與任何給定的測試運(yùn)行都不是一周中的同一天。 下面的代碼清單指示如何使用包含JUnit的Hamcrest“ anyOf”匹配器進(jìn)行測試。

使用Hamcrest anyOf()

/*** Test of getTodayDayOfWeek method, of class Today.*/@Testpublic void testGetTodayDayOfWeek(){final Today instance = new Today();final int todayDayOfWeek = instance.getTodayDayOfWeek();assertThat(todayDayOfWeek,describedAs("Day of week not in range.",anyOf(is(Calendar.SUNDAY),is(Calendar.MONDAY),is(Calendar.TUESDAY),is(Calendar.WEDNESDAY),is(Calendar.THURSDAY),is(Calendar.FRIDAY),is(Calendar.SATURDAY))));}

盡管Hamcrest的allOf要求所有條件都必須匹配才能避免斷言,但任何一個(gè)條件的存在足以確保anyOf不會(huì)導(dǎo)致失敗的斷言。

我最喜歡的確定JUnit可用的核心Hamcrest匹配器的方法是在Java IDE中使用導(dǎo)入完成。 當(dāng)我靜態(tài)導(dǎo)入org.hamcrest.CoreMatchers.*軟件包內(nèi)容時(shí),將顯示所有可用的匹配器。 我可以在IDE中查看*代表什么,以查看對(duì)我可用的匹配器。

JUnit包含Hamcrest“核心”匹配器真是太好了,這篇文章試圖演示其中的大多數(shù)。 Hamcrest在“核心”之外還提供了許多有用的匹配器,它們也很有用。 有關(guān)詳細(xì)信息,請(qǐng)參見Hamcrest教程 。

參考:在Inspired by Actual Events博客上,我們的JCG合作伙伴 Dustin Marx提供了JUnit的內(nèi)置Hamcrest Core Matcher支持 。


翻譯自: https://www.javacodegeeks.com/2012/06/junits-built-in-hamcrest-core-matcher.html

idea內(nèi)置junit5

總結(jié)

以上是生活随笔為你收集整理的idea内置junit5_JUnit的内置Hamcrest Core Matcher支持的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

国产麻豆剧果冻传媒视频播放量 | 国内精品毛片 | 97超碰网 | 日韩成人免费在线观看 | 国产3p视频 | 黄色app网站在线观看 | 国产精国产精品 | 国产在线观看免 | 五月婷婷视频在线 | 久热只有精品 | 在线免费观看视频a | 免费的黄色的网站 | 99在线免费观看 | 国产精品视频免费看 | 国产999视频在线观看 | 久久在线免费观看视频 | 国产日韩在线观看一区 | 国产亚洲激情视频在线 | 手机在线看片日韩 | 久久永久免费 | 天天做天天干 | 伊人网综合在线观看 | 日日夜夜精品免费观看 | 色视频在线免费 | 午夜精品一区二区三区四区 | 色婷婷福利视频 | 美女免费网视频 | 97精品国产97久久久久久粉红 | 色视频在线免费观看 | 97国产大学生情侣白嫩酒店 | 久久久久久久国产精品 | 日韩羞羞| av在线官网 | 久草电影免费在线观看 | 日韩综合精品 | 高清有码中文字幕 | 亚洲精品激情 | 999电影免费在线观看2020 | 五月天激情婷婷 | 亚洲美女在线一区 | 日韩成人看片 | 一级片色播影院 | 色a综合| 国产成人亚洲在线观看 | 色99在线| 日韩黄视频 | 91在线网站 | 久久久久麻豆 | 国产精品成人自产拍在线观看 | 久久久久久高清 | 五月天婷婷在线播放 | 国产91免费观看 | 日韩免费电影一区二区 | 国产精品粉嫩 | 天天干天天操天天拍 | 成人蜜桃| 一本一本久久a久久 | 三级av网| 日韩免费观看高清 | 麻豆一区在线观看 | 亚洲精品国产高清 | 中文日韩在线 | 国产美女视频 | 美女国内精品自产拍在线播放 | 三级黄色免费 | 国产成人一区二区三区久久精品 | 99视频国产精品免费观看 | 特级黄色电影 | 视频二区 | 色网站在线 | 欧美中文字幕第一页 | 91爱爱视频 | 超碰在线97观看 | 超碰999 | 天堂av网站 | 一级性视频 | 射久久 | 国产精品观看 | 夜又临在线观看 | 久草在线资源免费 | 911国产 | 四虎5151久久欧美毛片 | 亚洲综合小说 | 日韩精品免费在线播放 | 在线蜜桃视频 | 国产999久久久 | 国产一级在线观看 | 亚洲免费成人av电影 | 黄色精品视频 | 丁香花在线观看视频在线 | 丁香六月色 | 少妇性aaaaaaaaa视频 | 日韩中文字幕在线不卡 | 国产成人精品一区二区三区福利 | 美州a亚洲一视本频v色道 | 狠狠狠狠狠色综合 | 亚洲天堂网在线视频观看 | 国产伦理精品一区二区 | 亚洲三级网 | 在线国产激情视频 | 三级动态视频在线观看 | 91刺激视频| 国产亚洲欧美精品久久久久久 | 亚洲欧洲日韩在线观看 | 日日爱网站 | 欧美日韩视频网站 | 91精品视频免费看 | 在线亚洲欧美视频 | 九九国产视频 | 美女在线国产 | 亚洲美女视频网 | 成年人免费在线播放 | 久草在线视频首页 | 成人免费观看大片 | 欧美视频日韩 | 亚洲一区免费在线 | 丁香激情婷婷 | 黄a网站| 国产手机视频 | 国产中文a | 99精品国产一区二区三区麻豆 | 欧美另类色图 | 日韩电影在线看 | 国产成人黄色片 | 国产高清在线看 | 中文字幕麻豆 | 婷婷色影院 | 国产成人一区二区精品非洲 | 91人人射| 国产一区二区视频在线 | 欧美午夜视频在线 | 一区二区三区在线不卡 | 欧美日韩综合在线 | 久久精品免费观看 | 美女网站在线播放 | 九九热在线免费观看 | 日韩免费看 | 亚洲精品美女久久17c | 国产精品综合久久久 | 黄色av电影在线 | 91手机电视 | 黄色亚洲片 | 99热国产在线中文 | 天天干天天操天天 | 久久综合久久鬼 | 国产精品久久久久9999 | 国产资源在线视频 | 丁香六月五月婷婷 | 成人黄色国产 | 亚洲午夜精品一区二区三区电影院 | 91色网址 | 天天做天天射 | 国产精品一区在线 | 91日韩国产| 午夜精品久久 | 日韩69视频| 在线网址你懂得 | 亚洲永久精品在线观看 | 一区二区三区四区五区在线 | 91在线看片 | 91亚洲精品国偷拍自产在线观看 | 国产亚洲精品久久久久久久久久久久 | 在线之家官网 | 欧美性爽爽| 在线观看色网站 | 最近字幕在线观看第一季 | 色姑娘综合天天 | 久久96国产精品久久99漫画 | 一区二区不卡在线观看 | 成人欧美一区二区三区在线观看 | 国产中文字幕网 | 亚洲黄色片在线 | 国内综合精品午夜久久资源 | 91精品久久久久久久久久入口 | 手机在线免费av | 色婷久久 | 99精品免费在线 | 日韩视频一二三区 | 伊人激情综合 | 干干干操操操 | 成片人卡1卡2卡3手机免费看 | 日韩精品久久久久久中文字幕8 | 狠狠色综合网站久久久久久久 | 日韩特级黄色片 | 国产护士hd高朝护士1 | 日日干美女 | 精品91视频| 四虎在线免费观看视频 | 国产精品免费麻豆入口 | 国产成人久久精品亚洲 | 在线观看中文字幕一区 | 开心丁香婷婷深爱五月 | 黄色av免费 | 国产视频欧美视频 | 日日夜夜免费精品 | 四虎伊人| 波多野结衣视频网址 | 国产xxxx性hd极品 | 波多野结衣精品视频 | 日韩电影一区二区三区 | 久草视频在线新免费 | 国产精品成人一区 | 丁香六月中文字幕 | 久久精品视频中文字幕 | 国产专区精品视频 | 91黄色影视 | 黄网在线免费观看 | 久久久综合九色合综国产精品 | 一区二区三区免费在线播放 | 亚洲国产成人精品久久 | 91漂亮少妇露脸在线播放 | 国产午夜精品一区二区三区在线观看 | 99人久久精品视频最新地址 | 国产色在线视频 | av成人免费在线 | 又黄又刺激视频 | 黄色av成人在线观看 | se视频网址 | 久久久精品在线观看 | 美女国内精品自产拍在线播放 | 久久毛片网 | 天堂av网址 | 国产黄色视 | 91最新在线视频 | 国产精品观看视频 | 色婷婷六月 | 国产糖心vlog在线观看 | 日韩av影视在线 | 日韩精品欧美一区 | 日日夜夜天天综合 | 久久专区 | 天天天插| 视频国产在线观看18 | 99精品视频在线观看视频 | 日韩理论在线 | 黄色a一级视频 | 成人在线视频网 | 国产免费片 | 久久久久看片 | 欧美小视频在线观看 | 99一级片 | 黄色小视频在线观看免费 | 狠狠色丁香婷婷综合视频 | 97爱 | 久久国产视频网站 | 色噜噜在线观看视频 | 黄色在线观看免费网站 | 久久久久久久影视 | 日韩女同一区二区三区在线观看 | 国产精品精品久久久久久 | 久久99精品久久久久久秒播蜜臀 | 中文字幕最新精品 | 人人玩人人添人人澡97 | 亚洲国产免费看 | 成人av资源 | 久射网 | 日韩v欧美v日本v亚洲v国产v | 97视频网站 | 青青河边草观看完整版高清 | 中文字幕av全部资源www中文字幕在线观看 | 91av免费在线观看 | 欧美一区二区三区在线视频观看 | 91在线影院 | 国内精品久久久久影院日本资源 | 91精品看片| a在线免费 | 国产福利在线不卡 | 9在线观看免费高清完整 | 久久精品中文字幕少妇 | 美女免费网站 | 99精品视频一区二区 | 国产欧美久久久精品影院 | 日韩久久激情 | 97超碰在线资源 | 夜夜干夜夜 | 国产麻豆精品95视频 | 亚洲视频一级 | 丁香九月婷婷 | 日日日网| 久久久久久久久久久免费av | 国产香蕉97碰碰久久人人 | 国产精品成人av电影 | 亚洲精品国产精品久久99热 | 首页av在线| 日本婷婷色 | 国产97视频在线 | 最新超碰在线 | 九九热在线视频免费观看 | 精品国精品自拍自在线 | 久久久久欧美精品999 | 日韩一区二区免费视频 | 在线 视频 一区二区 | 国产精品一区久久久久 | 狠狠狠狠干 | 深爱激情婷婷网 | 美女久久久久久久久久久 | www.激情五月.com | 日韩av有码在线 | aaa亚洲精品一二三区 | 久久免费美女视频 | 久久国产精品一区二区三区 | 色www免费视频 | 久久精品中文字幕一区二区三区 | 国产精品中文久久久久久久 | 久久综合九色综合欧美就去吻 | 91视频免费视频 | 99国产精品免费网站 | 99在线视频免费观看 | 欧美另类亚洲 | 九九久| 国产黄影院色大全免费 | 国产小视频网站 | 毛片网站免费 | 精精国产xxxx视频在线播放 | 亚洲视频一级 | 九草在线视频 | 在线免费观看麻豆视频 | 日韩国产欧美在线播放 | 色婷婷在线视频 | 97中文字幕 | 97福利| 欧美日韩视频免费看 | www.干| 我要色综合天天 | 久久精品99久久久久久 | 国产香蕉视频在线观看 | 日韩无在线 | 国产成人精品一区二区三区福利 | 综合久久久久久 | 成人午夜网址 | 96亚洲精品久久久蜜桃 | 久久久国产精品一区二区三区 | 青青河边草观看完整版高清 | 伊人国产在线观看 | 午夜av电影 | 日韩精品一区二区三区第95 | 亚洲精品国产成人 | 国产精品一区免费在线观看 | 欧美一二三区播放 | 久久精品亚洲一区二区三区观看模式 | 91在线色 | 久久精品久久精品 | 91最新网址在线观看 | 中文字幕有码在线观看 | a黄色片在线观看 | 亚洲高清网站 | 九七人人干 | 日韩欧美在线一区 | 色多视频在线观看 | 91最新网址在线观看 | 激情视频网页 | 美女搞黄国产视频网站 | 麻豆高清免费国产一区 | 91精品爽啪蜜夜国产在线播放 | 麻豆免费视频观看 | 久久成人人人人精品欧 | 中文字幕高清av | 天天干天天操天天爱 | av黄色免费看 | 园产精品久久久久久久7电影 | 91麻豆网| 国产资源精品在线观看 | 狠狠色噜噜狠狠狠 | 亚洲日本成人网 | 中文字幕婷婷 | 黄色一级片视频 | 黄色小说免费在线观看 | 久草免费看 | 国产精品久久久久久麻豆一区 | www夜夜操| 亚洲成人av在线电影 | 成人av.com| 日本久久片 | 日韩免费精品 | a久久久久久 | 欧美日韩精品电影 | 2019中文最近的2019中文在线 | 狠狠的干| 97精品国产97久久久久久 | 黄色精品久久久 | 国产黄色免费 | 亚洲午夜剧场 | 五月天婷婷在线观看视频 | 欧美成人精品三级在线观看播放 | 中文字幕在线观看的网站 | 亚洲精品免费在线播放 | 日韩av综合网站 | 黄色毛片一级 | 丰满少妇在线观看资源站 | 亚洲欧美婷婷六月色综合 | 黄色资源网站 | 成人黄色电影在线播放 | 性日韩欧美在线视频 | 久久久久久久久久久久国产精品 | 欧美激情第八页 | 日韩在线视频网站 | 久久久久久97三级 | 欧美日韩在线精品 | 激情在线网站 | 久久综合婷婷综合 | 国内精品久久久久久久影视麻豆 | 免费观看久久久 | 超碰免费公开 | 国产精品九九九九九 | 精品高清美女精品国产区 | 亚洲日本va午夜在线电影 | 欧美韩日在线 | 偷拍福利视频一区二区三区 | 精品久久1| 91香蕉嫩草| 日韩中文字幕国产 | av一级黄| 国产精品视频永久免费播放 | 国产日韩中文字幕在线 | 激情在线免费视频 | 国际精品久久 | 中文字幕乱视频 | 国产亚洲精品久久久久秋 | 国产视频一区在线播放 | 日韩精品在线看 | 国产精品久久久久久一二三四五 | 中文字幕观看在线 | 一级黄色在线免费观看 | 狠狠久久| 亚洲激情校园春色 | 黄色午夜| 国产麻豆精品在线观看 | www最近高清中文国语在线观看 | 国产精品久久久久久久久久久久久久 | 91正在播放 | 97狠狠干 | 麻豆视频在线观看免费 | 欧美一区二区三区免费看 | 51久久夜色精品国产麻豆 | 欧美日韩国产精品爽爽 | 久久99精品热在线观看 | 国产精品av免费在线观看 | 亚洲精品在线播放视频 | 欧美激情综合色综合啪啪五月 | 久久精品福利 | 超碰97人人干 | 日韩精品一区二区在线观看视频 | 色综合天天狠狠 | 免费观看91视频大全 | 色噜噜在线观看视频 | 韩国av免费观看 | 免费色网站 | 婷婷激情综合五月天 | 亚洲理论影院 | 免费色黄 | 色婷婷国产 | 又粗又长又大又爽又黄少妇毛片 | 久久久国产高清 | 久久蜜臀一区二区三区av | 久久久久网址 | 国产精品一区二区三区久久 | 久久精品视频99 | 五月婷综合网 | 人人草在线视频 | 色噜噜在线观看 | 不卡的av在线播放 | 国产亚洲综合精品 | 91成人免费| 一级性av | 免费av观看 | 日韩色综合网 | 国产精品久久久久久久婷婷 | 激情狠狠干 | 探花视频在线版播放免费观看 | 精品国产激情 | 中文字幕在线观看免费高清完整版 | 在线 高清 中文字幕 | av字幕在线 | 最近免费中文视频 | 日本久久免费电影 | 成人免费视频视频在线观看 免费 | 91精品国自产在线观看 | 蜜臀久久99静品久久久久久 | 国产一区二区成人 | 91伊人| 麻豆一精品传二传媒短视频 | 欧美日韩在线视频观看 | 黄色在线成人 | 欧美韩国日本在线 | 中文字幕欧美三区 | 国产理论在线 | 伊人久久婷婷 | 中文字幕免费在线看 | 日韩va亚洲va欧美va久久 | 日韩欧美高清视频在线观看 | 免费观看v片在线观看 | 91在线观看视频网站 | 久久久久久97三级 | 国产精品午夜久久久久久99热 | 久久福利国产 | 91亚洲影院 | 综合激情网... | av高清一区二区三区 | 中文字幕一区二区在线观看 | 国产99在线免费 | 91麻豆国产福利在线观看 | 久久综合天天 | 亚洲va欧美va人人爽 | 亚洲jizzjizz日本少妇 | 亚洲成人免费观看 | 亚洲成人资源在线观看 | 亚洲黄色在线播放 | 在线免费性生活片 | 97在线免费观看视频 | 亚洲精品av在线 | av在线中文| 成片人卡1卡2卡3手机免费看 | 欧美一级大片在线观看 | 久久99久久99精品免视看婷婷 | 四月婷婷在线观看 | 99热超碰| 欧美俄罗斯性视频 | 99热这里精品 | 免费a级大片 | 激情喷水| 91麻豆精品 | 久久综合狠狠综合久久激情 | 99久久久成人国产精品 | 亚洲另类在线视频 | 天天色天天色天天色 | 五月开心色 | 欧美大片aaa | 99精品国产99久久久久久福利 | 精品国产区 | 中文字幕a在线 | 日韩在线观看你懂的 | 色播五月激情综合网 | 91在线最新 | 欧美不卡视频在线 | 在线亚洲高清视频 | 日日爽日日操 | 91精品办公室少妇高潮对白 | 国产最新视频在线观看 | 午夜视频免费 | 亚洲成年片 | 久草在线视频免费资源观看 | 狠狠干婷婷色 | 国产一区精品在线观看 | 国产精品 日韩精品 | 国产精品18久久久久久首页狼 | 亚洲伊人成综合网 | 亚洲综合一区二区精品导航 | www.夜夜操.com | 香蕉影视在线观看 | 国产区精品视频 | 91麻豆精品国产91久久久久久久久 | 五月天,com | 日韩午夜精品福利 | 国产午夜精品一区二区三区嫩草 | 高清国产午夜精品久久久久久 | 久久99网站 | 全黄色一级片 | 99精品免费视频 | 免费观看的黄色 | 99免费精品 | bbbbb女女女女女bbbbb国产 | 国产资源在线视频 | 午夜久久福利视频 | av片一区 | 天天玩天天干天天操 | 日韩中文字幕免费电影 | 久久国精品 | 亚洲精品中文字幕在线 | 亚洲综合激情小说 | 亚洲 欧美日韩 国产 中文 | 日韩在线视频观看 | 亚洲免费婷婷 | 色吊丝在线永久观看最新版本 | 成人免费xxxxxx视频 | 黄色小视频在线观看免费 | 亚洲国产三级 | 国语精品久久 | 免费色视频网址 | 国产aa免费视频 | 美女露久久 | 一二三久久久 | 日韩在线视频二区 | 久久久www成人免费毛片麻豆 | 久久久久久久久久久电影 | 韩国在线一区二区 | 91天堂影院 | 久久久久久久久久久久久久电影 | 成人小视频在线 | 日本三级全黄少妇三2023 | 六月色丁香 | 久久激情五月丁香伊人 | 成人香蕉视频 | 亚洲作爱 | 涩五月婷婷 | 91日韩国产| 99国产一区二区三精品乱码 | 国产精品久久久久av免费 | 99在线热播精品免费 | 在线成人高清电影 | 91亚洲精品国偷拍 | 日本爽妇网 | 免费色视频网址 | 成人免费大片黄在线播放 | 福利视频一区二区 | 国产精品区一区 | 99热手机在线观看 | 天天五月天色 | 日韩av一区二区三区在线观看 | 欧美日韩精品国产 | 在线黄色毛片 | 久久露脸国产精品 | 亚洲精品xxxx | 91在线精品秘密一区二区 | 一级大片在线观看 | 久久中文字幕在线视频 | 日韩电影在线看 | 久久久久在线 | 久艹在线观看视频 | 综合伊人久久 | 日韩免费视频在线观看 | 国产精品久久网站 | 亚洲 欧美 国产 va在线影院 | 色在线网| 国产v欧美 | 欧美疯狂性受xxxxx另类 | 欧美专区亚洲专区 | 婷婷色综 | 国产视频在线免费 | a级黄色片视频 | 一区二区三区四区久久 | 成人影音在线 | 最新中文字幕在线播放 | 国产二区免费视频 | 中文字幕在线观看资源 | 久久精品国亚洲 | 国产在线a不卡 | 欧美色婷| av在线等| 国产精品一区二区三区免费视频 | 国产精品欧美久久久久无广告 | 国产高清一区二区 | 久久久影院官网 | 日本 在线 视频 中文 有码 | 美女视频一区 | 国产精品观看在线亚洲人成网 | 精品欧美一区二区精品久久 | 美女在线免费观看视频 | 国产高清av免费在线观看 | 免费在线精品视频 | 99精品在线直播 | 欧美激情视频在线观看免费 | 国产中文字幕视频在线观看 | 久久五月网 | 亚洲成人av电影 | 九九久久免费视频 | 国产区在线视频 | 欧洲性视频 | 久久综合久久综合这里只有精品 | 亚洲激情在线播放 | 亚洲综合狠狠干 | 日韩va在线观看 | 黄色一级大片免费看 | 午夜久久 | 丁香av在线 | 婷婷亚洲五月色综合 | 午夜国产福利在线观看 | 精品999 | 国产美腿白丝袜足在线av | 在线一二区 | 一区二区 不卡 | 亚洲成年人av | 国产中文在线字幕 | 欧美-第1页-屁屁影院 | 99精品欧美一区二区三区黑人哦 | 国产精品中文久久久久久久 | 一级电影免费在线观看 | 亚洲精品视频在线看 | 在线中文字幕一区二区 | 国产91国语对白在线 | 国产毛片在线 | 天天草夜夜 | 日本黄色a级大片 | 成人国产精品一区二区 | 久久香蕉电影网 | 亚洲欧洲成人精品av97 | 一区二区高清在线 | 国产日韩一区在线 | 伊人伊成久久人综合网小说 | av短片在线| 在线观看你懂的网址 | 成人精品亚洲 | 91看片在线观看 | 在线亚洲成人 | 天天操天天干天天插 | 人人射av | 91视频高清免费 | 中文字幕免费国产精品 | 日韩av看片| 91xav| 午夜精品久久久久久久99水蜜桃 | 特级黄色片免费看 | 91在线精品播放 | 波多野结衣日韩 | av中文字幕不卡 | 四虎影视成人精品国库在线观看 | 狠狠狠狠狠狠狠 | 黄色国产高清 | 国产高清一区二区 | 亚洲天天综合网 | 欧美电影黄色 | 中文字幕在线免费播放 | 人人玩人人添人人澡超碰 | 91在线最新 | 一区二区三区免费在线观看 | 久久综合久久88 | 香蕉手机在线 | 色婷婷久久 | 91精品在线播放 | 久久久资源 | 久久精品国产精品亚洲 | 亚洲精品资源 | 99热超碰| 91大片成人网 | 国产专区欧美专区 | 久久国产经典 | 九九国产精品视频 | 国产精品久久一区二区三区不卡 | 中文字幕在线视频一区二区 | 人人艹人人| 国产精品不卡一区 | 99免费国产| 激情伊人五月天 | 天天操天天舔天天爽 | 毛片网站观看 | 伊人丁香 | 看片黄网站 | 国产福利在线免费观看 | 国产精品激情在线观看 | 97网站| 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 亚洲国产中文字幕在线观看 | 国产精品一区二区久久精品 | 欧美激情精品 | 成人黄色电影在线观看 | 国产亚洲激情视频在线 | 天天射天天艹 | 99麻豆久久久国产精品免费 | 国产精彩视频一区 | 中文字幕精品三级久久久 | 激情欧美一区二区三区 | 黄色三级视频片 | 久久夜靖品 | 视频在线一区二区三区 | 国产精久久| 天天狠狠干 | 久久国产一区二区三区 | 国产一区在线免费观看 | 免费成人在线观看视频 | 国产精品网站一区二区三区 | 久久久久免费精品视频 | 日韩av免费观看网站 | 欧美视频二区 | 午夜精品福利一区二区三区蜜桃 | 四虎国产精品免费观看视频优播 | 视频国产在线观看18 | 精品毛片一区二区免费看 | 色av婷婷| 欧美久草网 | 国产一级不卡视频 | 日本在线中文在线 | 97超视频免费观看 | 亚洲男男gⅴgay双龙 | 日韩欧美高清在线 | 在线久草视频 | 国产成人a亚洲精品 | 超碰日韩在线 | 成人影片在线播放 | 欧美亚洲国产日韩 | 日韩在线视频观看免费 | 色综合欧洲 | 亚洲永久在线 | 999一区二区三区 | 久久精品4| 国产真实在线 | 女人高潮一级片 | 国产精品一区二区三区在线免费观看 | 国产精品美女久久久久久网站 | 国产精品久久久久久久久久东京 | 日本久久高清视频 | 久草在线播放视频 | 91超碰在线播放 | 精品国内 | 91中文字幕网 | 国产一级黄大片 | 亚洲欧美国内爽妇网 | 超碰人人av| 国产伦理一区二区三区 | 天天干夜夜 | 天天射一射 | 97爱 | 亚洲精品免费在线观看 | 日韩精品免费在线观看 | 亚洲理论在线观看电影 | 99热都是精品| 波多野结衣一区 | 国产精品不卡 | 香蕉视频网站在线观看 | 一区二区三区在线观看免费 | 欧美日韩观看 | 在线看黄色av | 99精品视频在线观看播放 | 91手机电视| 天天操天天色天天射 | 国产欧美日韩视频 | 国产高清一| 日日激情 | 免费高清影视 | 99免费在线视频 | 久久99亚洲网美利坚合众国 | 伊人网站| 99re久久资源最新地址 | 国产精品岛国久久久久久久久红粉 | 日韩av专区| 三级黄在线 | 国产亚洲婷婷免费 | 国产欧美精品xxxx另类 | 一区二区三区在线免费播放 | 久久久精品欧美一区二区免费 | 亚洲欧洲日韩在线观看 | 特级西西444www大精品视频免费看 | 偷拍精偷拍精品欧洲亚洲网站 | 亚洲成av人影片在线观看 | 91成人在线免费观看 | 国产精品久久久久久久久久ktv | 日本福利视频在线 | 亚洲国产成人在线播放 | 国产精品久久久av | 国产精品一区二区久久久久 | 999国产精品视频 | 亚洲经典视频在线观看 | 99看视频在线观看 | 亚洲视频99 | 激情视频一区二区 | 粉嫩av一区二区三区四区五区 | 国产精品麻豆一区二区三区 | 国产精品欧美在线 | 在线观看中文字幕网站 | 日韩综合在线观看 | 看国产黄色大片 | 久久在线精品 | 国产视频色| 中文字幕999 | 黄色影院在线观看 | 18岁免费看片 | 日韩欧美一区二区三区在线观看 | 91黄色影视 | 国产精品九九久久99视频 | 久久国产网 | 久久精品视频中文字幕 | 国产成人在线播放 | 国产精品久久久久久久久久东京 | 天天操天天射天天爱 | 久久久久久久久艹 | 久久在线精品视频 | 97国产精品一区二区 | 97热久久免费频精品99 | 在线观看中文 | 久草国产在线观看 | 日韩国产精品毛片 | 在线韩国电影免费观影完整版 | 国产成人久久77777精品 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 日本九九视频 | 中文字幕在线视频一区二区三区 | 国产护士hd高朝护士1 | 麻豆一区在线观看 | 国产视频69 | 一区二区三区在线免费播放 | 色干干 | 久久久精品网站 | 亚洲欧美在线观看视频 | 日韩免费在线 | 亚洲精品网页 | 狠狠干,狠狠操 | 日韩免费一区二区三区 | 中文字幕在线观看视频一区 | 99免在线观看免费视频高清 | 丁香花在线观看视频在线 | 国产在线高清精品 | 人人干人人添 | 狠狠狠综合 | 一区二区三区精品在线视频 | 久久久久女人精品毛片 | 欧美一进一出抽搐大尺度视频 | 国产不卡精品 | 日韩电影一区二区在线观看 | 色综合天天色 | 亚洲精品视频在 | 久久久久97国产 | 国产人成在线观看 | 亚洲精品伦理在线 | 黄色成人小视频 | 久久久久久久久久久黄色 | 夜夜操网站 | 精品在线免费视频 | 亚洲在线不卡 | 日韩欧美高清不卡 | 久久伊人八月婷婷综合激情 | 草久久影院 | 青青看片 | 97在线观看视频免费 | 国产精品成人一区二区 | 国产美腿白丝袜足在线av | 成人激情开心网 | av夜夜操 | 99这里只有精品视频 | 亚洲成人黄色在线 | 亚洲欧美少妇 | 五月婷婷免费 | 亚洲精品成人av在线 | 国产亚洲在线观看 | 日日夜夜精品免费 | 91人人射| 伊人亚洲综合 | 中文字幕第一页在线播放 | 91喷水| 亚洲精品在线一区二区 | 久久99欧美 | 国产一区二区不卡视频 | 日韩精品高清视频 | 成人av午夜 | 色综合欧洲 | 日本在线精品视频 | 久久国产一区 | 女人18片毛片90分钟 | 国产97视频 | 亚州av网站 | 激情综合网天天干 | 国产精品毛片一区二区在线看 | 日韩视频www| 麻豆久久一区二区 | 亚洲年轻女教师毛茸茸 | 国产特级毛片 | 一级久久精品 | 免费看污污视频的网站 | 日韩av在线不卡 | 视频在线观看91 | 在线观看免费黄视频 | 久热av在线 | www免费| 精品乱码一区二区三四区 | 伊人久久精品久久亚洲一区 | 国产91成人 | 天堂资源在线观看视频 | 九色最新网址 | 亚洲一区二区视频在线 | 亚洲va欧洲va国产va不卡 | 欧美在线视频一区二区 | 亚洲国产一区在线观看 | 国产成人精品久久二区二区 | 久久精品久久久精品美女 | 五月婷婷综合色拍 | 91看片在线免费观看 | 成人一级在线观看 | 51久久成人国产精品麻豆 | 亚洲国产日韩av | 亚洲国产电影在线观看 | 99在线免费观看视频 | 免费在线观看av片 | av理论电影| 国产美女主播精品一区二区三区 | 99视频播放| 欧美性生活大片 | 国产无套一区二区三区久久 | 精品国产一区二区三区男人吃奶 | 五月激情丁香图片 | 中文字幕二区三区 | 欧美一级黄色视屏 | 成片免费观看视频大全 | 亚洲国产视频直播 | 亚洲a色| 国产成人av电影在线观看 | 欧美精品一区二区三区四区在线 | 玖玖玖在线观看 | 久久久久国产视频 | 欧洲精品在线视频 | 成人毛片a | 成人毛片网 | 国产伦理一区二区三区 | 免费日韩 精品中文字幕视频在线 | 久草观看视频 | 天天爱天天操天天干 | 激情伊人| 99 视频 高清| 国产精品麻豆欧美日韩ww | 人人射人人爱 | 天天碰天天操视频 | 在线观看国产日韩欧美 |