久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

基于Mock測試Spring MVC接口過程解析

瀏覽:45日期:2023-08-01 15:59:31

1. 前言

在Java開發中接觸的開發者大多數不太注重對接口的測試,結果在聯調對接中出現各種問題。也有的使用Postman等工具進行測試,雖然在使用上沒有什么問題,如果接口增加了權限測試起來就比較惡心了。所以建議在單元測試中測試接口,保證在交付前先自測接口的健壯性。今天就來分享一下胖哥在開發中是如何對Spring MVC接口進行測試的。

在開始前請務必確認添加了Spring Boot Test相關的組件,在最新的版本中應該包含以下依賴:

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions></dependency>

本文是在Spring Boot 2.3.4.RELEASE下進行的。

2. 單獨測試控制層

如果我們只需要對控制層接口(Controller)進行測試,且該接口不依賴@Service、@Component等注解聲明的Spring Bean時,可以借助@WebMvcTest來啟用只針對Web控制層的測試,例如

@WebMvcTestclass CustomSpringInjectApplicationTests { @Autowired MockMvc mockMvc; @SneakyThrows @Test void contextLoads() { mockMvc.perform(MockMvcRequestBuilders.get('/foo/map')).andExpect(ResultMatcher.matchAll(status().isOk(), content().contentType(MediaType.APPLICATION_JSON), jsonPath('$.test', Is.is('hello')))).andDo(MockMvcResultHandlers.print()); }}

這種方式要快的多,它只加載了應用程序的一小部分。但是如果你涉及到服務層這種方式是不湊效的,我們就需要另一種方式了。

3. 整體測試

大多數Spring Boot下的接口測試是整體而又全面的測試,涉及到控制層、服務層、持久層等方方面面,所以需要加載比較完整的Spring Boot上下文。這時我們可以這樣做,聲明一個抽象的測試基類:

package cn.felord.custom;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.web.servlet.MockMvc;/** * 測試基類, * @author felord.cn */@SpringBootTest@AutoConfigureMockMvcabstract class CustomSpringInjectApplicationTests { /** * The Mock mvc. */ @Autowired MockMvc mockMvc; // 其它公共依賴和處理方法 }

只有當@AutoConfigureMockMvc存在時MockMvc才會被注入Spring IoC。

然后針對具體的控制層進行如下測試代碼的編寫:

package cn.felord.custom;import lombok.SneakyThrows;import org.hamcrest.core.Is;import org.junit.jupiter.api.Test;import org.springframework.http.MediaType;import org.springframework.test.web.servlet.ResultMatcher;import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;import org.springframework.test.web.servlet.result.MockMvcResultHandlers;import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;/** * 測試FooController. * * @author felord.cn */public class FooTests extends CustomSpringInjectApplicationTests { /** * /foo/map接口測試. */ @SneakyThrows @Test void contextLoads() { mockMvc.perform(MockMvcRequestBuilders.get('/foo/map')).andExpect(ResultMatcher.matchAll(status().isOk(), content().contentType(MediaType.APPLICATION_JSON), jsonPath('$.test', Is.is('bar')))).andDo(MockMvcResultHandlers.print()); }}

4. MockMvc測試

集成測試時,希望能夠通過輸入URL對Controller進行測試,如果通過啟動服務器,建立http client進行測試,這樣會使得測試變得很麻煩,比如,啟動速度慢,測試驗證不方便,依賴網絡環境等,為了可以對Controller進行測試就引入了MockMvc。

MockMvc實現了對Http請求的模擬,能夠直接使用網絡的形式,轉換到Controller的調用,這樣可以使得測試速度快、不依賴網絡環境,而且提供了一套驗證的工具,這樣可以使得請求的驗證統一而且很方便。接下來我們來一步步構造一個測試的模擬請求,假設我們存在一個下面這樣的接口:

@RestController@RequestMapping('/foo')public class FooController { @Autowired private MyBean myBean; @GetMapping('/user') public Map<String, String> bar(@RequestHeader('Api-Version') String apiVersion, User user) { Map<String, String> map = new HashMap<>(); map.put('test', myBean.bar()); map.put('version', apiVersion); map.put('username', user.getName()); //todo your business return map; }}

參數設定為name=felord.cn&age=18,那么對應的HTTP報文是這樣的:

GET /foo/user?name=felord.cn&age=18 HTTP/1.1Host: localhost:8888Api-Version: v1

可以預見的返回值為:

{ 'test': 'bar', 'version': 'v1', 'username': 'felord.cn'}

事實上對接口的測試可以分為以下幾步。

構建請求

構建請求由MockMvcRequestBuilders負責,他提供了請求方法(Method),請求頭(Header),請求體(Body),參數(Parameters),會話(Session)等所有請求的屬性構建。/foo/user接口的請求可以轉換為:

MockMvcRequestBuilders.get('/foo/user').param('name', 'felord.cn').param('age', '18').header('Api-Version', 'v1')

執行Mock請求

然后由MockMvc執行Mock請求:

mockMvc.perform(MockMvcRequestBuilders.get('/foo/user').param('name', 'felord.cn').param('age', '18').header('Api-Version', 'v1'))

對結果進行處理

請求結果被封裝到ResultActions對象中,它封裝了多種讓我們對Mock請求結果進行處理的方法。

對結果進行預期期望

ResultActions#andExpect(ResultMatcher matcher)方法負責對響應的結果的進行預期期望,看看是否符合測試的期望值。參數ResultMatcher負責從響應對象中提取我們需要期望的部位進行預期比對。

假如我們期望接口/foo/user返回的是JSON,并且HTTP狀態為200,同時響應體包含了version=v1的值,我們應該這么聲明:

ResultMatcher.matchAll(MockMvcResultMatchers.status().isOk(),MockMvcResultMatchers.content().contentType(MediaType.APPLICATION_JSON),MockMvcResultMatchers.jsonPath('$.version', Is.is('v1')));

JsonPath是一個強大的JSON解析類庫,請通過其項目倉庫https://github.com/json-path/JsonPath了解。

對響應進行處理

ResultActions#andDo(ResultHandler handler)方法負責對整個請求/響應進行打印或者log輸出、流輸出,由MockMvcResultHandlers工具類提供這些方法。我們可以通過以上三種途徑來查看請求響應的細節。

例如/foo/user接口:

MockHttpServletRequest: HTTP Method = GET Request URI = /foo/user Parameters = {name=[felord.cn], age=[18]} Headers = [Api-Version:'v1'] Body = null Session Attrs = {}Handler: Type = cn.felord.xbean.config.FooController Method = cn.felord.xbean.config.FooController#urlEncode(String, Params)Async: Async started = false Async result = nullResolved Exception: Type = nullModelAndView: View name = null View = null Model = nullFlashMap: Attributes = nullMockHttpServletResponse: Status = 200 Error message = null Headers = [Content-Type:'application/json'] Content type = application/json Body = {'test':'bar','version':'v1','username':'felord.cn'} Forwarded URL = null Redirected URL = null Cookies = []

獲取返回結果

如果你希望進一步處理響應的結果,也可以通過ResultActions#andReturn()拿到MvcResult類型的結果進行進一步的處理。

完整的測試過程

通常andExpect是我們必然會選擇的,而andDo和andReturn在某些場景下會有用,它們兩個是可選的。我們把上面的連在一起。

@AutowiredMockMvc mockMvc;@SneakyThrows@Testvoid contextLoads() { mockMvc.perform(MockMvcRequestBuilders.get('/foo/user') .param('name', 'felord.cn') .param('age', '18') .header('Api-Version', 'v1')) .andExpect(ResultMatcher.matchAll(status().isOk(), content().contentType(MediaType.APPLICATION_JSON), jsonPath('$.version', Is.is('v1')))) .andDo(MockMvcResultHandlers.print()); }

這種流式的接口單元測試從語義上看也是比較好理解的,你可以使用各種斷言、正例、反例測試你的接口,最終讓你的接口更加健壯。

5. 總結

一旦你熟練了這種方式,你編寫的接口將更加具有權威性而不會再漏洞百出,甚至有時候你也可以使用Mock來設計接口,使之更加貼合業務。所以CRUD不是完全沒有技術含量,高質量高效率的CRUD往往需要這種工程化的單元測試來支撐。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
主站蜘蛛池模板: 亚洲欧美日韩在线一区二区 | 精品天堂 | 国产精品毛片一区二区在线看 | 国产美女黄色片 | 欧美在线一区二区三区 | 精品国产青草久久久久福利 | 国产一区二区精品 | 91精品国产一区二区 | 亚洲网站在线观看 | 四影虎影www4hu23cmo | 亚洲精品日韩激情在线电影 | 日韩av一区二区三区在线 | 欧美 亚洲 一区 | 亚洲精品视频大全 | 一区二区三区四区 | 91高清视频在线观看 | 2020天天操 | 亚洲一区二区三区中文字幕 | 亚洲午夜电影 | 欧美精品一区二区视频 | 一区二区三区高清不卡 | 亚洲一区二区免费看 | 亚洲乱码国产乱码精品精的特点 | 成人欧美一区二区三区在线观看 | 国产乱码精品一区二区三区中文 | 女男羞羞视频网站免费 | 国产精品一区在线 | 国产成人99久久亚洲综合精品 | 日精品| 香蕉大人久久国产成人av | 免费视频成人 | 久草福利 | 男人的天堂视频网站 | 欧美一级做a爰片免费视频 亚洲精品一区在线观看 | av网站在线免费观看 | 日本欧美在线 | 欧美在线 | 亚洲 | 天堂久久爱资源站www | 狠狠狠 | 奇米影视首页 | 亚洲天天操 | 欧美视频一区二区 | 久久久久久久91 | 伊人免费在线观看高清版 | 一区二区免费看 | 精品一区二区在线观看 | 岛国在线免费 | 午夜寂寞少妇aaa片毛片 | 午夜私人影院在线观看 | 欧美成人在线影院 | 黄网站涩免费蜜桃网站 | 亚洲人成在线观看 | 欧美精品影院 | 日本不卡免费新一二三区 | 亚洲啊v | 日日操视频 | 97男人的天堂 | 午夜在线观看视频网站 | 有码在线 | 欧美一级裸体视频 | 日韩一区二区视频 | 黄色影片网址 | 亚洲精品久久久久久久久久久 | 亚洲不卡视频 | 亚洲不卡在线 | 亚洲视频一区二区三区 | 日韩免费一区二区 | 99国产视频| 日韩免费av| 久久久久久一区 | 婷婷久久五月天 | 国产欧美久久一区二区三区 | 精品乱码一区二区 | 红桃成人少妇网站 | 91麻豆精品国产91久久久久久久久 | 在线一级电影 | 99精品国产高清一区二区麻豆 | 国产玖玖 | 国产精品成人在线 | 亚洲一区二区中文 | 欧美成人专区 | 日韩视频免费在线播放 | 欧美日韩精品免费观看视频 | 久久精品综合 | 成人国产在线观看 | 久久69精品久久久久久久电影好 | 欧洲精品久久久 | 国产91麻豆视频 | 91视频观看 | 久久婷婷色| 综合色婷婷一区二区亚洲欧美国产 | 久久久精品久久 | 久草成人| 91在线精品秘密一区二区 | 久久久久久国产精品 | 亚洲精品电影 | 国产在线精品一区二区 | 免费看国产片在线观看 | 99精品欧美一区二区三区 | 久久欧美精品一区 | 国产资源视频在线观看 | 91麻豆精品久久久久蜜臀 | 国产成人精品一区一区一区 | 日韩欧美h| 国产91麻豆视频 | www狠狠干 | 欧美日韩一区二区三区在线观看 | 色免费视频 | 亚洲精品国产偷自在线观看 | 中文字幕视频二区 | 国产成人精品久久二区二区 | 中文字幕av黄色 | 精品在线一区二区 | 成人性视频在线 | 午夜视频黄 | 99久久夜色精品国产网站 | 99久久国产综合精品女不卡 | 日本免费一区二区在线观看 | 羞羞视频免费在线观看 | 精品视频一区二区三区 | 美女主播精品视频一二三四 | 国产免费av在线 | 欧美在线激情 | 99国产精品久久久久久久 | 黄色影视网址 | 91精品国产综合久久久久久 | 一区二区在线视频 | 91亚洲在线 | 91精品国产综合久久国产大片 | 日本亚洲精品一区二区三区 | 日本久草| 操人在线观看 | 一区二区在线视频 | 天堂一区二区三区 | 欧美在线一区二区三区 | 国产欧美精品一区 | 成人激情免费视频 | 国产精品久久久久久吹潮 | 欧美一区三区 | 久久久国产视频 | 国产精品视频久久久 | 特级做a爰片毛片免费看108 | 婷婷久久五月 | 一级黄色片a级 | 精品日韩一区二区 | 国产精品成人在线观看 | 日韩免费 | 久久免费精品视频 | 久久9热| 久久资源av | 久久久免费看 | 欧美理论片在线 | 999这里只有是极品 免费的一级黄色片 | 国产日韩精品一区二区 | cao视频| 精品国产一区二区在线 | 91久久久久 | 国产免费自拍 | 久久亚洲一区二区三区四区五区高 | 美女超碰 | 成人在线观看一区 | 成年片| 久久免费精品 | 91在线免费看 | 中文字幕一区二区三区乱码在线 | 狠狠骚 | 久久亚洲美女 | 九九综合九九综合 | 国产成人av在线 | 免费视频一区二区 | 成人免费视频网站在线观看 | 91色视频在线观看 | 欧美日韩一区二区在线观看 | 日韩精品久久 | 国产乱视频网站 | 日韩av在线一区 | 久久综合一区二区 | 日本全黄裸体片 | 色欧美日韩 | 国产人妖在线 | www久久精品 | 亚洲aaaaaa特级 | 国产91在线观看 | 国产精品69久久久久水密桃 | 九九综合九九 | 国产一区二区精品 | 精品第一页 | 国产精品欧美一区二区三区不卡 | 欧美大片在线看免费观看 | 久久久网| 日韩一区二区三区在线观看 | 五月激情综合网 | 国产成人精品免费视频大全最热 | 亚洲欧美高清 | 欧美激情一区二区三区在线视频 | 日韩视频一区 | 青青草一区 | 亚洲第一天堂无码专区 | 欧美xxxxxx视频 | 欧美视频在线观看一区 | 伊人91 | 久久综合一区二区 | 一区二区视频网站 | 久久国产精品久久久久久电车 | 久久99精品久久久久久琪琪 | 亚洲视频在线看 | 91精品国产欧美一区二区成人 | 久久亚洲国产精品 | 在线一区二区三区 | 欧美a网 | 日韩看片 | 中文字幕在线观看av | 黑人xxx视频| 国产精品毛片久久久久久久 | 欧美视频二区 | 91精品啪aⅴ在线观看国产 | 日韩福利片 | 久久91视频 | 狠狠爱www人成狠狠爱综合网 | 99亚洲 | 国产男女做爰免费网站 | 视频一区 中文字幕 | 99热欧美 | 亚洲精品乱码8久久久久久日本 | 免费看一区二区三区 | 91久久久久久久久 | 午夜精品亚洲日日做天天做 | 国产精品视频专区 | 免费观看a视频 | 日韩一区二区中文字幕 | 国产在线资源 | 国产伦精品一区二区三区在线 | 久久久精品免费视频 | 久久亚洲一区 | 91操操| 欧美大片在线看免费观看 | 91丁香 | 久久精品无码一区二区三区 | 成人免费在线观看视频 | 国产精品99一区二区三区 | 国产精品日日 | 一级黄色大片视频 | 免费看一区二区三区 | zzzzyyyy精品国产 | 成人欧美 | 91精品国产91久久久久久吃药 | 国产精品一区二区三区四区 | 午夜视频在线观看网站 | 伊人精品视频 | 在线观看的av | 日本午夜网 | 中文字幕在线观看 | 国产99久久| 一区二区免费 | 欧美在线播放一区 | 一区二区在线视频免费观看 | 久久久久中文 | 亚洲精品久久久久久久久久久久久 | 日韩视频精品在线 | 国产偷录视频叫床高潮对白 | 狠狠的日 | 亚洲国产精品精华液网站 | 九九久久久 | 黄色片在线免费观看 | 男女全黄一级一级高潮免费看 | 观看av | 亚洲精品二区 | 中文字幕在线看 | 久久久久久久久久国产精品 | 久久伊人成人 | 一区二区三区在线免费观看 | 久久激情五月丁香伊人 | 欧美福利网址 | 毛片免费观看视频 | 国产精品视频一二 | 欧美日韩在线观看一区二区三区 | 中文字幕在线观看的电影 | 日韩一级视频 | 日韩视频精品在线 | 精品一二区| 欧美综合一区二区三区 | www久久精品 | 色爱综合网 | 一级在线免费视频 | 国产精品永久 | 亚洲激情精品 | 亚洲深深色噜噜狠狠网站 | av一级久久| 国产精品一区二区av | 色播99| 日韩精品一区在线视频 | 二区欧美 | 中文字幕69av | 日韩在线观看高清 | 姐姐在线观看动漫第二集免费 | 一区二区三区欧美在线 | 亚洲 欧美 日韩在线 | 日本三级网站在线观看 | 色久天堂 | 成年片 | 性欧美精品高清 | 国产欧美精品区一区二区三区 | 日韩精品久久 | 天天操天天干视频 | 精品日韩欧美一区二区在线播放 | 黄色一级大片在线免费看产 | 午夜激情av| 丝袜久久| 日韩精品久久久久久 | 一级毛片免费播放 | 日本做暖暖视频高清观看 | 久久精品小视频 | 久久精品一区二区三区四区毛片 | 插插射啊爱视频日a级 | 精品视频一区在线观看 | 91视视频在线观看入口直接观看 | 97伦理网| 黄色免费av| 国产一区成人 | 97色综合 | 99精品免费 | 国产在线观看一区二区三区 | 欧美日韩一区在线 | 日韩视频在线免费观看 | 亚洲精品成人在线 | 在线成人www免费观看视频 | 免费视频一区二区 | 啊v在线视频 | 91精品一区二区三区久久久久久 | 成人在线网站 | 午夜黄色影院 | 91精品久久 | 午夜视频在线观看网站 | 黑人巨大精品欧美黑白配亚洲 | 国产一区免费 | 一区二区日韩 | 成人免费在线播放 | 日本成年人免费网站 | 天天插天天操 | 久久久久高清 | 久久人人爽人人爽人人片av软件 | 大胆裸体gogo毛片免费看 | 欧美日韩视频在线播放 | 亚洲欧美综合一区 | 偷拍自拍亚洲欧美 | 国产精久 | 中文字幕爱爱视频 | 成年人视频在线免费观看 | 日韩成人影院 | 美女久久 | 国产一区二区三区四区五区 | 一区二区免费在线观看 | 99免费在线观看视频 | 日韩精品在线免费观看视频 | 中文字幕日本视频 | 99久久这里只有精品 | 五月网婷婷 | 欧美一级片在线观看 | 国产在亚洲 线视频播放 | 999这里只有是极品 免费的一级黄色片 | 午夜欧美精品久久久久 | 成人a视频 | 7777久久| www..99热| 欧美视频一区 | 国产精品久久久久无码av | 久久国产综合 | 一区二区中文字幕 | 精品成人一区二区 | 精品一区二区三区久久 | julia一区二区三区中文字幕 | 欧美久久精品 | 福利一区二区 | 日韩色综合 | 国产精品久久一区 | 国产在线一区二区三区 | 二区三区 | 国产精品无码久久久久 | 亚洲精品第一页 | 久久久国产视频 | av在线一区二区 | 一级毛片免费完整视频 | 久久久久国产 | 性高湖久久久久久久久aaaaa | 黑人巨大精品欧美一区二区免费 | 在线只有精品 | 在线观看成人 | 天堂久久爱资源站www | 91精品久久久久久久久 | 精品久久久久久国产三级 | 国产高清av在线一区二区三区 | 99精品国产高清一区二区麻豆 | 日韩国产一区二区 | va在线观看 | 草比网站| 99热欧美 | 国产一区二区三区久久久 | 中国特级毛片 | 日本中文在线 | 97国产一区二区精品久久呦 | 国产四区 | 免费黄色网址在线播放 | 日韩精品免费 | 日韩在线免费观看视频 | 亚洲成人精品久久 | 午夜在线| 九九色影院 | 亚洲精品66 | 国产一区二区三区不卡在线观看 | 伦理午夜电影免费观看 | 国产精品久久久久久久久久久久 | 日韩超碰在线观看 | 国产精品毛片久久久久久久 | 嫩草影院在线观看91麻豆 | 久久精品视频免费 | 一区三区视频 | 天天干天天插 | 91av在线视频播放 | 欧美午夜电影 | 成人免费视频网站在线观看 | 国产在线播 | 亚洲男人天堂 | 天天色av| 欧美福利一区二区 | 国产精品成人观看视频国产奇米 | 久久夜色精品 | 日日搞夜夜操 | 国产在线视频网站 | 精品成人在线视频 | 欧洲美女性开放视频 | 毛片av在线播放 | 国产在线观看高清 | 国产精品一区二区三区四区 | 成人av免费在线观看 | 免费观看成人性生生活片 | 羞羞视频免费观看 | 艳妇荡乳豪妇荡淫 | 精品一区av | 天堂亚洲网 | 欧美精品国产精品 | 国产一区在线看 | 欧美久久久久久久 | 999精品视频 | 亚洲精品视频在线播放 | 久久久精品日本 | 国产欧美一区二区精品性色 | 亚洲人成在线观看 | 一区二区三区精品 | 伊人网综合在线 | 欧美日韩国产一区二区三区 | 亚洲一级毛片 | 国产精品一区电影 | 欧美在线a | 国产精品视频一区二区三区四 | 欧美日韩一级电影 | 人人干网站 | 精品av | 激情欧美日韩一区二区 | 亚洲精品免费观看 | 午夜精品久久久久久99热软件 | 国产精品久久久久久久久久久久冷 | 欧美综合久久 | 欧美一区二区三区四区视频 | 精品成人av | 国产久 | 久久久午夜爽爽一区二区三区三州 | 久久精品国产一区二区三 | 在线视频三级 | 亚洲一二| 日本在线观看视频网站 | 欧美日韩免费在线 | 亚洲精品一区二区三区蜜桃久 | 国产视频一区二区三区四区 | 黄毛片网站 | 色综合av | 婷婷色狠狠 | 欧美亚洲另类丝袜综合网动图 | 国产精品人人做人人爽 | 国产一区二区av | 久久永久视频 | 久草毛片| 99伊人 | 免费观看一区二区三区毛片软件 | 三级成人在线 | 国产高清在线精品 | 久久不射电影网 | 久久99国产精品 | 一区二区三区国产精品 | 日日插日日操 | 国产高清精品一区 | 欧美精品成人一区二区三区四区 | 免费在线黄 | 山外人精品 | 不卡视频一区 | 在线观看毛片网站 | 成人精品视频 | 91精品久久久久久久久久入口 | 99re视频| 日韩成人精品在线 | 久久88 | 国产毛片av | 一区二区亚洲 | 久久久精品亚洲 | 亚洲一区二区三区免费 | 国产精品久久久久久久久久久久久久 | 色视频网站免费看 | 色五月激情五月 | 人人爱人人草 | 国内精品在线视频 | 激情小网站 | 久久综合九色综合欧美狠狠 | 国产视频一区二区在线 | 一区二区三区高清 | 午夜艹 | 91免费版在线观看 | 国产精品久久久久久久午夜 | 国产精品99久久 | 国产一区二区三区在线免费观看 | 久久免费国产 | 日本免费视频 | 亚洲国产精品成人 | 日韩在线视频一区 | 国产精品久久久久久中文字 | 亚洲一区二区三区久久 | 精品视频一区在线观看 | 久久69精品久久久久久久电影好 | 91人人网| 日本 欧美 国产 | 一区二区三区精品视频免费看 | 天天操天天干天天干 | 尤物视频在线观看 | 欧美精品成人一区二区三区四区 | 亚洲视频免费在线观看 | 亚洲视频三区 | 欧美 亚洲 另类 激情 另类 | 欧美久久久久 | 久久国产经典视频 | 日韩城人网站 | 久久99精品久久久久婷婷暖91 | 午夜影院在线观看免费 | 麻豆91视频 | 亚洲八区| 欧美日韩国产一区二区三区在线观看 | 久操成人| 久久综合99re88久久爱 | 古风h啪肉1v1摄政王 | 国产资源视频在线观看 | 二区中文字幕 | 免费亚洲视频 | 综合一区 | 亚洲精品在线免费播放 | 国产精品女教师av久久 | 99国产精品99久久久久久 | 欧美一区二区在线观看 | 日韩欧美精品一区二区三区 | 在线播放国产一区二区三区 | 欧美一区二区免费 | 中文字幕在线观看的电影 | 久久久久久91亚洲精品中文字幕 | 一区二区三区在线播放 | 在线中文视频 | 日韩在线不卡 | 亚洲一区二区三区免费在线观看 | 欧产日产国产精品一二 | 亚洲精品国产a久久久久久 国产毛片毛片 | 亚洲精品一区二区三区在线 | 中文字幕日韩在线 | 欧美成人精品一区二区三区 | 成人国产一区 | 亚洲视频在线观看 | 中文字幕本久久精品一区 | 国产高清在线精品一区二区三区 | 人人玩人人添人人澡97 | 欧美成年黄网站色视频 | www.色94色.com| av日韩在线播放 | 日夜夜精品视频 | 亚洲视频在线观看 | 日韩免费在线视频 | 国产视频一区二区 | 日韩精品一区二 | 成人欧美一区二区三区黑人孕妇 | 一级毛片一级毛片一级毛片 | 91亚洲国产成人久久精品网站 | 成人精品网站在线观看 | 亚洲一区二区在线播放 | 欧美一级电影免费观看 | 欧美激情精品久久久久久变态 | 香蕉视频一级片 | 91九色视频国产 | 天天操天天玩 | 免费午夜电影 | 欧美一区二区三区精品 | 欧美中文在线 | 亚洲精品美女久久 | 中文字幕av在线 | 91午夜视频 | 成人精品一区二区 | 国产精品久久 | 久久久久久久久99精品 | 色婷婷亚洲 | 99免费视频 | 午夜激情在线免费观看 | 成人影| 91精品国产综合久久久亚洲 | 国产九九精品视频 | 久久人人爽人人爽人人片av软件 | 亚洲欧美日韩电影 | 天天干夜夜骑 | 成人a毛片 | 久久99国产精品久久99大师 | 午夜私人影院 | 米奇影视7777| 欧美一级在线免费观看 | 国产免费一区二区三区 |