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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

.netcore持续集成测试篇之MVC层单元测试

發(fā)布時間:2023/12/10 c/c++ 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .netcore持续集成测试篇之MVC层单元测试 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前面我們講的很多單元測試的的方法和技巧不論是在.net core和.net framework里面都是通用的,但是mvc項目里有一種比較特殊的類是Controller,首先Controller類的返回結(jié)果跟普通的類并不一樣,普通的類返回的都是確定的類型,而mvc項目的返回的ActionResult或者core mvc里返回的IActionResult則是一個高度封裝的對象,想對它進行很細致的測試并不是一件很容易的事.因此在編寫代碼的時候建議盡量把業(yè)務(wù)邏輯的代碼單元寫到單獨類中,Controller里只進行簡單的前端請求參數(shù)檢驗以及各自http狀態(tài)和數(shù)據(jù)的返回.還有一點就是Controller是在http請求到達后動態(tài)創(chuàng)建的,單元測試的時候很多對象諸如Httpcontext,Modelstate,request,response,routedata,uri,MetadataProvider等都是不存在的,和在http請求環(huán)境中有很大差別.但是我們?nèi)匀荒芡ㄟ^對Controller進行單元測試做很多工作,確保結(jié)果是我們想要的.

確保Action返回正確View和ViewModel

我們使用HomeController里面的Index方法,代碼稍作修改

public IActionResult Index(){return View("Index","hello");}

它的測試代碼如下

[Fact]public void ViewTest(){HomeController hc = new HomeController();var result = (ViewResult)hc.Index();var viewName = result.ViewName;var model = (string)result.Model;Assert.True(viewName == "Index" && model == "hello");}

首先我們先創(chuàng)建一個Controller類,由于業(yè)務(wù)上我們需要這個方法返回一個View,這是提前預(yù)知的,所以我們把hc.Index的結(jié)果轉(zhuǎn)為ViewResult,如果轉(zhuǎn)換失敗則說明程序中存在bug.

下面是分別獲取View的名稱的數(shù)據(jù)模型,然后我們斷言View名稱是Index,model的值是hello,當(dāng)然以上代碼比較簡單顯然是能通過的,在實際業(yè)務(wù)中我們還要對Model進行更為復(fù)雜的斷言.

需要注意的是,Action返回的view并不是都有名稱的,如果是返回的本方法對應(yīng)的view,默認名稱是可以省略的,這樣以上斷言就會失敗,因此如果名稱不寫的時候我們可以斷言ViewName是空,同樣返回的是本方法默認的view.

確保Action返回了正確的viewData

我們把HomeController里的Index方法再稍改下如下:

public IActionResult Index(){ViewBag.name = "sto";return View("Index","hello");}

測試方法如下

HomeController hc = new HomeController();var name= result.ViewData["name"];Assert.True(name=="sto");

看到以上有些同事可能會有疑惑,為什么設(shè)置的是ViewBag而能用ViewData獲取到呢,很多都從網(wǎng)上看到過有人說二者一個是dynamic類型,一個是字典類型,這只是它們外在的表現(xiàn),其實才者運行時是同一個對象.所以可以通過ViewData[xxx]方式獲取到它的值.

確保程序進入的正確的分支

我們常常會看到如下代碼

public IActionResult Index(Student stud){if (!ModelState.IsValid) return BadRequest();return View("Index","hello");}

Student類我們加上注解,改成如下

public class Student{public string Name { get; set; }[Range(3,10,ErrorMessage ="年齡必須在三到十歲之間")]public int Age { get; set; }public byte Gender { get; set; }public string School { get; set; }}

我們對年齡進行注解,標(biāo)識它必須是3到10之間的一個值.

我們編寫以下測試來測試如果如果有模型綁定錯誤的時候返回 BadRequest

[Fact]public async Task ViewTest(){HomeController hc = new HomeController();var result = hc.Index(new Student{Age=1});Assert.IsType<BadRequestResult>(result);}

以上測試我們把stud的年齡設(shè)置為1,根據(jù)程序邏輯它不在3到10之間,因此應(yīng)該返回BadRequest(實際上是一個BadRequestResult類型對象),然而運行以上測試會發(fā)現(xiàn)測試并沒有通過,通過單步調(diào)試我們發(fā)現(xiàn)實際上返回的是一個ViewResult對象.為什么會是這樣呢?其實原因很簡單,因為Modelstate.IsValid是在模型綁定的時候如果模型驗證有錯誤,就會寫稿Modelstate對象里,然而控制器并不是動態(tài)創(chuàng)建的,模型數(shù)據(jù)也不是動態(tài)綁定的,沒有向Modelstate里添加錯誤信息的動作,所以單元測試里它啟動返回True,那是不是就沒有辦法測試了呢,其實也不是,因為ModelState不僅程序可以在模型綁定的時候動態(tài)添加,我們也可以在控制器里面根據(jù)自己的業(yè)務(wù)邏輯添加.

我們把代碼改為如下

[Fact]public async Task ViewTest(){HomeController hc = new HomeController();hc.ModelState.AddModelError("Age", "年齡不在3到10范圍內(nèi)");var result = hc.Index(new Student{Age=1});Assert.IsType<BadRequestResult>(result);}

由于我們知道這里的Age值是不合法的,因此顯式在controller的Modelstate對象里顯式寫入一個錯誤,這樣Model.Isvalid就應(yīng)該返回False,邏輯應(yīng)該走入BadRequest里.以上測試通過.

確保程序重定向到正確Action

我們把Index方法改為如下

public IActionResult Index(int? id){if (!id.HasValue) return RedirectToAction("Contact","Home");return View("Index","hello");}

如果id為null的時候,就會返回一個RedirectToActionResult,導(dǎo)到Home控制器下的Contact方法下.

[Fact]public async Task ViewTest(){HomeController hc = new HomeController();var result = hc.Index(null);var redirect = (RedirectToActionResult) result;var controllerName = redirect.ControllerName;var actionName = redirect.ActionName;Assert.True(controllerName == "Home" && actionName == "Contact");}

當(dāng)然以上的代碼并不是很有意義,因為RediRectToAction里面?zhèn)魅氲膮?shù)往往是兩個字符串,并不需要特別復(fù)雜的計算,而redirect.ControllerName,redirect.ActionName獲取的也并不是真正控制器的Action的名稱,而是上面方法賦值來的.因此它們的值總是相等.

我們可以通過以下改造來使測試變得更有意義

[Fact]public async Task ViewTest(){HomeController hc = new HomeController();var result = hc.Index(null);var redirect = (RedirectToActionResult) result;var controllerName = redirect.ControllerName;var actionName = redirect.ActionName;Assert.True(controllerName.Equals(nameof(HomeController).GetControllerName(),StringComparison.InvariantCultureIgnoreCase) && actionName.Equals(nameof(HomeController.Contact),StringComparison.InvariantCultureIgnoreCase));}

以上代碼我們使用nameof獲取類型或者方法的名稱,然后判斷手動寫的和通過nameof獲取到的是不是一樣,這樣如果我們手寫有錯誤就會被發(fā)現(xiàn),但是有一個問題是我們通過nameof獲取的HomeController的名稱是字符串HomeController而不是Home,其它類型也是如此,但是這個很容易處理,因為它們都是以Controller結(jié)尾,我們只要對它進行一下處理就行了.我們來看GetControllerName方法,它是一個String類的擴展方法

public static class ControllerNameExtension{public static string GetControllerName(this string str){if (string.IsNullOrWhiteSpace(str) || !str.EndsWith("Controller",StringComparison.InvariantCultureIgnoreCase)){throw new InvalidOperationException("無法獲取指定類型的ControllerName");}string controllerName =str.Replace("Controller", string.Empty, StringComparison.InvariantCultureIgnoreCase);return controllerName;}}

這個方法非常簡單,就是把Controller類的結(jié)果'Controller'字符串去掉

由于ControllerFactory在創(chuàng)建Controller的時候是并不區(qū)分大小寫的,因此我們的equals都加上了不區(qū)分大小寫的選項,這導(dǎo)致方法看上去特別長,我們也進行一下簡單封裝.

public static class StringComparisionIgnoreCaseExtension{public static bool EqualsIgnoreCase(this string str, string other){return str.Equals(other, StringComparison.InvariantCultureIgnoreCase);}}

以上方法非常簡單,就是在比較的時候加上StringComparison.InvariantCultureIgnoreCase

最終Assert的斷言代碼變成如下:

Assert.True(controllerName.EqualsIgnoreCase(nameof(HomeController).GetControllerName()) && actionName.EqualsIgnoreCase(nameof(HomeController.Contact)));

這樣如果我們因為手寫錯誤把名稱拼錯或者多空格就很容易被識別出來,并且如果方法名稱改掉這里會出現(xiàn)編譯錯誤,方便我們定位錯誤.

確保程序重定向到正確路由

有些時候我們重定向到指定路由,下面看看如何測試

public IActionResult Index(int? id){if (!id.HasValue) return RedirectToRoute(new{controller="Home",action="Contact"});return View("Index","hello");}

以上方法如果id為null就重定向到一個路由,這里簡單說一下為什么創(chuàng)建這樣一個匿名對象,為什么對象的名稱為controller,和action而不是controllername和actionname?我們可以運行一下mvc程序,看看RouteData里的鍵值對的名稱是什么,就會明白了.

測試方法如下

[Fact]public async Task ViewTest(){HomeController hc = new HomeController();var result = hc.Index(null);var redirect = (RedirectToRouteResult) result;var data = redirect.RouteValues;var controllerName = data?["controller"]?.ToString();var actionName = data?["action"]?.ToString();Assert.True(!string.IsNullOrWhiteSpace(controllerName));Assert.True(!string.IsNullOrWhiteSpace(actionName));Assert.True(controllerName.EqualsIgnoreCase(nameof(HomeController).GetControllerName()));Assert.True(actionName.EqualsIgnoreCase(nameof(HomeController.Contact)));}

以上方法實際上和上面的RedirectToAction測試本質(zhì)上差不多,都是確定導(dǎo)向到了正確的controller和action里,不同的是值的獲取方法.

RedirectToAction和RedirecttoRoute都可以傳路由值,和上面以樣通過索引鍵獲取到值,這里不再展開講解.

確保正確重定向到指定短url

.net core里新增了一個LocalRedirect(以及對應(yīng)的永久重寫向,永久重定向保持方法等,其它重定向也都有這些類似方法族).它類似于RedirecttoRoute,只不過是參數(shù)并不是RouteData,而是一個短路由(不帶主機名和ip,因為默認并且只能內(nèi)部重定向).

我們把HomeController下的Index方法改為如下:

public IActionResult Index(int? id){if (!id.HasValue) return LocalRedirect("/Home/Hello");return View("Index","hello");}

如果Id是null就重定向到/home/Hello想必大家在頁面向后端請求的時候?qū)戇^不少這樣的類似代碼,這里就不再詳細解釋了.

測試方法如下:

[Fact]public async Task ViewTest(){HomeController hc = new HomeController();var result = hc.Index(null);var redirect = (LocalRedirectResult) result;var url = redirect.Url.Split("/").Where(a=>!string.IsNullOrEmpty(a));}

這里主要是通過Url獲取到這個地址,然后把它分成若干部分.默認情況下第一部分是控制器名,第二部分是action名.后面的代碼不再寫了,大家自己嘗試一下.

需要注意的是,以上所有的示例只處理了默認路由的情況,并沒有處理路由參數(shù),自定義路由以及aera中的路由等.如果不是默認路由,則以上內(nèi)容的第一部分就不一定是controller名了,這里還需要根據(jù)實際業(yè)務(wù)來處理.

view測試

上一節(jié)知識算是對mvc控制器測試的補充知識.這節(jié)正式開始講解關(guān)于mvc里view的集成測試.

有一點需要弄明白的是通過發(fā)送http請求進行集成測試是無法獲取到程序里的Controller對象的,我們只能能View的頁面進行集成測試.

對頁面的測試主要包含了對返回狀態(tài)的測試和頁面內(nèi)容的測試.產(chǎn)生確保正確響應(yīng),并且返回了正確頁面,前面單元測試里主要測試的是返回的view名稱是正確的,至于能否到達這個頁面則不一定.集成測試里我們要根據(jù)當(dāng)前頁面的特征來確定當(dāng)前頁面的身份.也就是這個頁面有與眾不同的,能區(qū)分它和別的頁面不同的特征.

我們?nèi)匀挥肏omeController下的Index來作為案例講解.對Index方法改為出廠設(shè)置,內(nèi)容如下

public IActionResult Index(){return View();}

這里返回的首先頁面里面包含了一個輪播圖,我們可以斷言返回的頁面中包含有carousel關(guān)鍵字,測試代碼如下

[Fact]public async Task ViewIntegrityTest(){var response = await _client.GetAsync("/Home/Index");response.EnsureSuccessStatusCode();var responseStr = await response.Content.ReadAsStringAsync();Assert.Contains("carousel", responseStr);}

以上測試返回的內(nèi)容(就是整個view頁面)中包含carousel這樣的字樣.

需要注意的是以上內(nèi)容在實際項目中遠不能區(qū)分這個頁面就是home頁面,可能還需要其它的判斷,需要根據(jù)實際情況酌情考慮,如果以特定id,名稱等可能會變的內(nèi)容作為判斷則會給集成測試帶來維護上的麻煩.有時候頁面太多改動又太大導(dǎo)致單元測試大片報錯,可能在時間緊任務(wù)重的情況下直接把單元測試放棄了,因此不是范圍越小,判斷的內(nèi)容越精細越好,而是盡量找到本頁面中不易變的,能區(qū)別其它頁面的東西.即便是區(qū)分不了,這里至少能確定頁面正確返回了而不是404頁面.這樣比上線后手動打開瀏覽器檢測頁面是否能正常打開要可靠的多.

仍然有一點需要注意的是并不是集成測試通過了就萬事大吉,我們?nèi)匀灰陧椖可暇€后對頁面進行抽檢,查看頁面布局是否正常.當(dāng)然這些也可以自動化來完成.但是抽檢仍然是必要的,不要相信所有的方法都是天衣無縫的.

總結(jié)

以上是生活随笔為你收集整理的.netcore持续集成测试篇之MVC层单元测试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

亚洲九九九在线观看 | 国产小视频在线免费观看视频 | 国产精品一区二区三区观看 | 免费日韩av片 | 天天射一射 | 91自拍成人 | 日韩电影中文字幕在线 | 51精品国自产在线 | av电影免费在线播放 | 九九精品视频在线观看 | 97精品超碰一区二区三区 | av激情五月 | 日本精品中文字幕在线观看 | 国产999视频在线观看 | 天天射天天干天天爽 | 日韩在线精品视频 | 国产视频在线观看免费 | 午夜性福利 | 日韩免费在线看 | 国产精品一区二区久久 | 婷婷社区五月天 | 精品国产理论片 | 911久久 | 五月婷婷一区 | 久草网站在线观看 | 菠萝菠萝在线精品视频 | 久久精品第一页 | 国产在线观看中文字幕 | 久久毛片网站 | 久久久精华网 | 日韩av电影中文字幕在线观看 | 在线亚洲成人 | 91福利视频一区 | www.日本色| 最新av网址在线观看 | www.玖玖玖 | 91福利影院在线观看 | 亚洲第一区在线播放 | 免费a网站 | 久久久久久久久影院 | 久久久国产精品人人片99精片欧美一 | 久久人人爽人人爽人人 | 婷婷色在线播放 | 亚洲免费资源 | 久久avav| 97色se | 国产一区在线观看视频 | 99久久综合精品五月天 | 狠狠的干狠狠的操 | avv天堂| 日韩av中文| 国产精品视频免费观看 | 亚洲精品在线二区 | 欧美亚洲精品在线观看 | 亚色视频在线观看 | 国产精品视频专区 | 六月丁香激情综合色啪小说 | 久久久久国产精品免费 | 丁香六月网 | 97天天综合网 | 精品久久久久久久久久久久久久久久久久 | 久久久国产精品麻豆 | 97视频在线免费 | 精品美女视频 | 超碰人在线 | 久久久国产99久久国产一 | av色综合| 91精品免费在线 | 国产色婷婷 | 黄色aa久久| av网址aaa | 韩日精品在线观看 | 亚洲高清视频一区二区三区 | 欧美在线日韩在线 | 91免费网址| 日韩特黄一级欧美毛片特黄 | 91精品啪在线观看国产81旧版 | 国产91精品欧美 | a亚洲视频| 黄色中文字幕在线 | 麻豆成人在线观看 | 四虎天堂 | 在线观看成人av | 97av视频在线观看 | 91久草视频 | av在观看 | 久久任你操 | 99精品一区二区三区 | 激情综合站| 亚洲精品国产精品国自产在线 | 国产精品9999 | 在线播放av网址 | 久久久久五月 | 久久国产91| 免费在线观看午夜视频 | 国产色拍| 夜夜操狠狠干 | 久久大香线蕉app | 国产免费又黄又爽 | 久久国产精彩视频 | 丁香综合网 | 久久乐九色婷婷综合色狠狠182 | 99久久99久久 | 久久精品国产精品亚洲 | av观看久久久 | 四虎影视国产精品免费久久 | 在线色吧 | 久久看片 | 一区在线免费观看 | 午夜体验区 | 久久久久欧美精品 | 亚洲高清精品在线 | 成年人视频免费在线播放 | 91精品天码美女少妇 | 国产在线精品国自产拍影院 | 黄污网| 国产色 在线 | 最近中文字幕完整高清 | 亚洲精品字幕在线观看 | 精品国产一区二区三区四 | 日本精品视频免费 | 日韩成人黄色 | 国产精品久久久久9999吃药 | 久久久久免费观看 | 国产亚洲欧美在线视频 | av在线激情 | 欧美另类tv| 欧美日韩亚洲在线观看 | 日韩在线精品一区 | 国产精品不卡在线 | 欧美视频一区二 | 欧美精品久久久久久久亚洲调教 | 久久久久二区 | 狠狠躁日日躁狂躁夜夜躁av | 天天干,天天操 | 国产激情电影综合在线看 | 国产精品久一 | 操高跟美女 | 黄色片网站免费 | 在线观看免费观看在线91 | 色狠狠一区二区 | 99热 精品在线 | 国产尤物视频在线 | 亚洲一级在线观看 | 日韩一级精品 | 91精彩视频在线观看 | av成人在线播放 | 久艹在线播放 | 96久久精品| 天堂网中文在线 | av亚洲产国偷v产偷v自拍小说 | 免费男女羞羞的视频网站中文字幕 | 天天干,夜夜爽 | 日韩精品视频第一页 | 国产91九色视频 | 人人搞人人爽 | 天天躁日日躁狠狠 | 国产无遮挡又黄又爽在线观看 | www久| 久久99免费视频 | 欧美成年黄网站色视频 | 久久久久久久久久久网 | 91免费观看视频网站 | 久草在线视频网站 | 欧美色图亚洲图片 | 国内精品在线看 | 亚洲久在线 | 天天做日日爱夜夜爽 | 麻花天美星空视频 | 国产一区播放 | 一级黄色大片在线观看 | 久久免费观看少妇a级毛片 久久久久成人免费 | 国产亚洲欧美精品久久久久久 | 在线观看91视频 | 欧美在线视频一区二区三区 | 免费av黄色 | 国产午夜剧场 | 日韩视频一区二区在线 | 国产成人精品一区二区在线 | 亚洲精品1区2区3区 超碰成人网 | 91传媒视频在线观看 | 成人精品国产免费网站 | 欧美专区国产专区 | 成人在线观看免费 | av久久在线 | 黄色片免费看 | 五月天电影免费在线观看一区 | 日韩av影片在线观看 | 亚洲一区日韩在线 | 欧美在线一 | 国产亚洲精品久久久久久网站 | 国产剧情久久 | 91人人澡人人爽人人精品 | 免费无遮挡动漫网站 | 超碰免费久久 | 久久午夜国产 | 日本在线观看一区 | 日韩理论视频 | 999抗病毒口服液 | 久久久久久久久毛片精品 | 久久午夜电影院 | 91av视频播放 | 日韩精品视频免费专区在线播放 | 五月婷婷影院 | 又黄又爽又湿又无遮挡的在线视频 | 尤物九九久久国产精品的分类 | www最近高清中文国语在线观看 | 亚洲精品久久久久58 | 亚洲人片在线观看 | 成人动态视频 | 国产成人av片 | 最近中文字幕国语免费高清6 | 免费看成人 | 99久久夜色精品国产亚洲 | 亚洲一区视频免费观看 | 成在线播放 | av在线8 | 在线日本看片免费人成视久网 | 中国一 片免费观看 | 92av视频 | 日韩精品不卡在线 | 亚洲精品在线观看免费 | 黄色av电影 | 在线成人看片 | 日韩 精品 一区 国产 麻豆 | 欧美欧美| 国产二区视频在线 | 精品国产aⅴ麻豆 | 日韩精品一区二区三区水蜜桃 | 日韩一区二区三区高清免费看看 | 中国一级片视频 | 国内久久久 | 97香蕉久久超级碰碰高清版 | 欧美性生交大片免网 | 日韩中文字幕免费视频 | 97视频中文字幕 | 久青草视频在线观看 | 日韩欧美精品在线观看视频 | 香蕉网站在线观看 | 免费黄a | 香蕉影视| 日本精品视频免费 | 久久草网| 亚洲日本欧美 | 中文字幕国产视频 | 中文字幕在线专区 | 国产精品中文字幕在线播放 | 97人人添人澡人人爽超碰动图 | 97在线精品视频 | 黄色影院在线免费观看 | 国产麻豆传媒 | 9999精品免费视频 | 国产精品国产三级国产不产一地 | 啪嗒啪嗒免费观看完整版 | 久久99国产精品久久 | 欧美在线视频不卡 | 欧洲精品码一区二区三区免费看 | www.久久色 | 在线电影a | av先锋中文字幕 | 国产精品高清一区二区三区 | 国产午夜亚洲精品 | 亚州精品在线视频 | 国产精品入口传媒 | 久久夜视频 | 91大神一区二区三区 | 最新av在线网站 | 国语黄色片 | 日韩精品久久中文字幕 | a成人在线| 93久久精品日日躁夜夜躁欧美 | 日韩在线观看第一页 | 国产精品999久久久 久产久精国产品 | 在线观看理论 | 国产3p视频 | 伊人黄色网 | 久草| 亚洲精品视频免费在线观看 | 欧美激情精品久久 | 中国一级片在线观看 | 亚洲在线免费视频 | 国产精品永久在线观看 | 中文字幕在线视频一区二区三区 | 国产高清绿奴videos | 日韩视频www | 日本成人免费在线观看 | 九九精品视频在线看 | 欧美日韩国产二区三区 | 亚洲国产理论片 | 日韩二区在线播放 | 日韩精品视频在线观看免费 | 99热这里有精品 | 一区二区三区国产精品 | 色国产精品一区在线观看 | 中文字幕一区二区三区视频 | 久久久久久久久亚洲精品 | 色婷婷免费| 99产精品成人啪免费网站 | 欧美日韩精品在线一区二区 | 激情综合中文娱乐网 | 国产精品无av码在线观看 | 国产精品av久久久久久无 | 国产无遮挡又黄又爽在线观看 | 日韩av免费大片 | 97**国产露脸精品国产 | 国产区精品 | 亚洲精品综合在线观看 | 国产精品久久久久久久久蜜臀 | 中文在线a在线 | 免费看污黄网站 | 91中文字幕在线观看 | 久久综合久久伊人 | 高清美女视频 | 中文字幕在线乱 | 久久国产精品偷 | 2024国产精品视频 | 亚洲精选视频免费看 | 欧美日韩成人一区 | 27xxoo无遮挡动态视频 | 国产在线观看国语版免费 | 日韩高清免费在线观看 | 999久久久久久久久久久 | 天天射天天操天天 | 欧美精品一级视频 | 在线视频观看成人 | 97超级碰碰碰碰久久久久 | 日韩在线观看中文字幕 | 成人免费共享视频 | 久久在草 | 国产成人精品av在线观 | 国产一区在线观看免费 | 91看片在线观看 | 久久成年人 | 黄色片免费在线 | 丁香激情五月 | 国产精品扒开做爽爽的视频 | 亚洲综合色站 | 亚洲精品国产高清 | 亚洲国产欧美一区二区三区丁香婷 | 亚洲区精品视频 | 三级小视频在线观看 | 91精品1区2区 | 成人影音av | 伊人婷婷| 成人在线视频免费观看 | 91亚洲精品久久久久图片蜜桃 | 中文字幕中文字幕在线中文字幕三区 | 91亚洲精品乱码久久久久久蜜桃 | 亚洲精品xx | 亚洲三级在线免费观看 | 亚洲少妇xxxx | 人人爱爱人人 | 91成人短视频在线观看 | 最近中文字幕在线 | 狠狠色噜噜狠狠狠合久 | 成人禁用看黄a在线 | 青青河边草观看完整版高清 | 日韩欧美一区二区三区在线观看 | 亚洲一区尤物 | 在线视频观看亚洲 | 国产精品免费一区二区三区在线观看 | 悠悠av资源片| 91精品在线免费观看 | 精品久久久久久久久久国产 | 久久久久久国产精品免费 | 欧美日产在线观看 | 色偷偷88888欧美精品久久 | 精品久久网站 | 国产啊v在线 | 久久国产热| 久久激情五月丁香伊人 | 亚洲成人欧美 | 午夜视频免费播放 | 91丨九色丨国产丨porny精品 | 久久国产精品一国产精品 | 日韩一级片网址 | 久久国产精品99久久久久 | 免费久久久 | 91在线看免费 | www.国产在线视频 | 色999在线| 99热这里只有精品久久 | 中文字幕日韩一区二区三区不卡 | 全久久久久久久久久久电影 | 精品一区二区在线免费观看 | 99热这里只有精品在线观看 | 国产福利a| 中文字幕在线看视频国产中文版 | 蜜臀久久99精品久久久无需会员 | 国产成人精品久久亚洲高清不卡 | 91一区在线观看 | 午夜精品一区二区三区免费视频 | 亚洲最新av | 天天爽天天爽天天爽 | 波多野结衣小视频 | 91亚洲在线观看 | 伊人欧美 | 日韩区在线观看 | 亚洲国产欧美在线看片xxoo | 不卡国产视频 | 黄av资源 | 青草草在线视频 | 国产精品免费在线视频 | 视频二区在线 | 美女视频免费一区二区 | 天天综合网天天 | 黄色的网站在线 | 久久在线视频精品 | 中文字幕在线影视资源 | 九色精品在线 | 日韩一级理论片 | 欧美二区三区91 | www.国产高清 | 精品国产综合区久久久久久 | 久久久九色精品国产一区二区三区 | 国产精品久久久久久久7电影 | 国产精品福利在线 | 精品99免费视频 | 人人看黄色 | 国产精品成人aaaaa网站 | 99久久精品国| 日韩一区二区免费视频 | 区一区二区三在线观看 | 九九热免费在线视频 | 久久成人人人人精品欧 | 国产婷婷vvvv激情久 | 亚洲精品在线网站 | 午夜a区| 欧美少妇xxxxxx | 久久国产精品99精国产 | 九九热在线精品视频 | 欧美一区二区三区在线 | 欧美日韩一区二区在线观看 | 在线电影av | 一区二区三区观看 | 草久久影院 | 亚洲91网站 | 亚洲伦理中文字幕 | 99久久99久久精品国产片果冰 | a视频免费在线观看 | 99视频在线观看免费 | 日韩视频一区二区三区在线播放免费观看 | 国产福利在线不卡 | 992tv在线观看网站 | 色狠狠综合天天综合综合 | 激情网站免费观看 | 久久人人97超碰com | 成人黄大片视频在线观看 | 国产 视频 久久 | 九月婷婷综合网 | 91麻豆产精品久久久久久 | 亚洲精品免费在线观看视频 | 午夜视频在线瓜伦 | 欧美久久久久久久 | 五月综合在线观看 | 夜夜狠狠| 一区二区视频在线观看免费 | 欧美性视频网站 | 亚洲国产一区av | 久草在线免费资源站 | 午夜精品一区二区国产 | 国产亚洲精品久 | 日本久久免费电影 | 国语黄色片 | 久久精品日本啪啪涩涩 | 久久久久9999亚洲精品 | 国产成人精品网站 | 在线播放视频一区 | 婷婷5月激情5月 | 天天插天天狠 | 噜噜色官网 | 波多野结衣视频一区二区三区 | 欧美日韩一区二区久久 | 欧美日韩不卡一区二区三区 | 成 人 a v天堂| 亚洲综合欧美激情 | 日韩高清在线观看 | 国产成人精品一区二区三区福利 | 成人免费中文字幕 | 日本福利视频在线 | 婷婷电影在线观看 | 男女免费视频观看 | 亚洲综合色站 | 在线a视频免费观看 | 亚洲全部视频 | 精品国产乱码久久久久久天美 | 成年人app网址 | 97色国产| 五月婷婷在线视频观看 | 国产99精品 | 五月婷婷综合在线视频 | 中文区中文字幕免费看 | 亚洲精品视频在线播放 | 久久精品aaa | 免费看片日韩 | 天堂av在线中文在线 | 日韩爱爱片 | 久久一区二区三区日韩 | 久青草视频 | 久久中文字幕视频 | 精品久久影院 | 在线亚洲人成电影网站色www | 激情欧美网 | 日韩电影在线观看中文字幕 | av电影在线观看完整版一区二区 | 国产精品一区二区三区久久 | 国产一区欧美在线 | 综合色综合 | 日韩专区一区二区 | 国产精品一区一区三区 | 亚洲在线激情 | 国产精品伦一区二区三区视频 | а中文在线天堂 | 在线天堂8√ | 日韩欧美观看 | 成人av电影在线 | 国产精品免费观看视频 | 国产a级片免费观看 | 久久精品一区二区国产 | 中文字幕在线观看免费观看 | 日韩免费在线观看网站 | 久草在线播放视频 | 国产精品原创av片国产免费 | www.av在线.com | 97碰碰精品嫩模在线播放 | 中文字幕免费一区二区 | 国产福利一区二区三区在线观看 | 一级成人免费视频 | 国产精品免费人成网站 | 国产精品福利在线播放 | 国产精品久久99综合免费观看尤物 | 亚洲精品视频大全 | 久久中文字幕在线视频 | av一级在线| 日本三级吹潮在线 | 中文免费在线观看 | 在线观看精品 | av丁香| 99国产一区二区三精品乱码 | 日韩av一区二区三区在线观看 | 九九九热精品免费视频观看 | 久草.com | 国产一区二区三精品久久久无广告 | www.狠狠 | 91精品推荐 | 国产精品一区二区久久久久 | 日本精品中文字幕在线观看 | 日韩av在线小说 | 天天综合色天天综合 | 91av中文 | 国产福利免费看 | 国色天香第二季 | 天堂在线一区二区 | 91九色蝌蚪视频在线 | 亚洲性视频 | 97超级碰碰碰碰久久久久 | 激情欧美丁香 | 四虎天堂| www.五月婷婷 | www.亚洲黄色 | 亚洲天堂精品视频在线观看 | 欧美一级电影免费观看 | 亚洲国产日韩欧美 | 二区视频在线观看 | 精品视频免费播放 | 99精品欧美一区二区三区 | 欧美色综合久久 | 色偷偷中文字幕 | 欧美精品九九99久久 | 久久黄色免费 | 久久狠狠一本精品综合网 | 国产一区影院 | www.黄色网.com | 欧美日韩免费在线视频 | 日韩免费电影 | 日韩专区在线 | 久爱综合| 国产视频在线一区二区 | 久久精品首页 | 91视频在线观看免费 | 国产日本高清 | 99九九热只有国产精品 | 日韩电影久久 | 丝袜一区在线 | 国产亚洲精品久久久久久无几年桃 | 国产日韩精品一区二区 | 日本久久综合视频 | 久久久久免费精品 | 偷拍视频一区 | 国产成人精品一区在线 | 麻豆视频在线观看免费 | 超碰在线天天 | 久久五月婷婷丁香 | 波多野结衣视频一区 | 亚洲最大av网| 伊人五月综合 | 中文字幕在线观看的网站 | 免费高清在线观看成人 | 日韩三级视频在线看 | 精品国产电影 | 亚洲精品一区二区三区新线路 | 亚洲精品乱码久久久久久蜜桃不爽 | 黄色a在线 | 国内免费的中文字幕 | 日日干干| 国产在线视频一区二区 | 国产亚洲精品久久久久久大师 | 不卡在线一区 | 91国内产香蕉 | 99热手机在线 | 久久综合偷偷噜噜噜色 | 黄色三级av | www操操| 亚洲黄色在线免费观看 | www.天天综合 | 欧美在线91 | 色综合婷婷 | 91最新在线视频 | 中文字幕在线免费 | 天天干中文字幕 | 免费a网| 成年美女黄网站色大片免费看 | 国外成人在线视频网站 | 成人动漫一区二区三区 | 午夜a区| 国产精品白浆 | 久久毛片视频 | 三级动图| 综合影视 | 国产一区免费在线 | 国产一区免费 | 高潮久久久久久 | 六月婷婷久香在线视频 | 国产精品一区二区白浆 | 中文av在线免费观看 | 久久久久久国产精品亚洲78 | 一区二区三区在线观看中文字幕 | 99免费在线观看 | 午夜在线免费观看 | 最新免费av在线 | 亚洲一级免费电影 | 久久女教师 | 亚洲成人xxx | 午夜视频在线观看一区二区 | 中文字幕中文字幕在线中文字幕三区 | 欧美巨乳波霸 | 天天操天天色天天 | 三级黄在线| 最新婷婷色| 成人91在线 | 怡红院久久 | 黄色a大片 | 91视频免费看片 | 日韩欧美大片免费观看 | 亚洲精品在线免费看 | av在线网站大全 | zzijzzij亚洲日本少妇熟睡 | 日日爽 | 天堂网av在线 | 操操操夜夜操 | 日本女人b| 欧美日韩高清在线观看 | 日本高清久久久 | 成人精品久久 | 午夜成人免费电影 | 狠狠伊人 | 99热精品在线 | 国产美女视频免费观看的网站 | 五月的婷婷 | 欧美aa一级片 | 九九精品视频在线观看 | 欧美巨大荫蒂茸毛毛人妖 | 91av在线视频免费观看 | 四虎影视国产精品免费久久 | 亚洲综合视频在线 | av片中文 | 免费看一级特黄a大片 | 国产精品久久久久久妇 | 综合天堂av久久久久久久 | 亚洲午夜久久久久久久久 | 成人久久毛片 | 成人在线网站观看 | 日日夜夜噜噜噜 | 91热精品| 99热精品在线| 91av视频在线观看免费 | 狠狠的操你 | 欧美成人亚洲成人 | 香蕉影院在线 | 狠狠干.com | 国产在线观看av | 国产日本亚洲 | 亚洲第一区在线播放 | 人人爽久久涩噜噜噜网站 | 成年人视频在线 | 亚洲精品中文字幕视频 | 色多多视频在线观看 | 国产精品视频久久久 | 亚洲精品资源 | 激情综合五月婷婷 | 视频国产在线 | 99热最新地址 | 337p日本欧洲亚洲大胆裸体艺术 | 超碰99在线| 伊人久久五月天 | 永久免费毛片在线观看 | 国产免费叼嘿网站免费 | 久久久久久久久久久免费 | 私人av| 国产视频1区2区3区 久久夜视频 | 中文字幕观看av | 天天躁天天操 | 一区免费观看 | 婷婷深爱五月 | 久久韩国免费视频 | 手机看片中文字幕 | 国产精品你懂的在线观看 | 黄色三级在线观看 | 国产精品毛片一区二区在线 | 国产午夜精品一区二区三区欧美 | 日韩av成人在线 | 亚洲久草在线视频 | 日韩精品亚洲专区在线观看 | 免费午夜av | 亚洲精品国产精品乱码在线观看 | 精品视频在线免费观看 | 亚洲欧美日韩国产精品一区午夜 | 国产又黄又硬又爽 | 在线成人免费 | 日韩区视频 | 久久婷婷精品 | 国产破处精品 | 99久久久久久国产精品 | 国产高清 不卡 | 99久久电影 | 日日夜夜免费精品视频 | 国产精品婷婷午夜在线观看 | 国产精品情侣视频 | 色五月色开心色婷婷色丁香 | 亚洲欧美日本一区二区三区 | 国产精品美女免费 | 欧美久久99 | 久久综合影音 | 欧美日韩一区二区视频在线观看 | 一区二区三区免费在线观看视频 | 97超碰人人澡 | 成人小视频在线观看免费 | 久草色在线观看 | 特级a老妇做爰全过程 | 亚洲精品88欧美一区二区 | 日本久热| 激情视频网页 | 黄色三级免费片 | 欧美精品一区二区免费 | 亚洲成人高清在线 | 亚洲精品乱码久久久久久蜜桃不爽 | 色偷偷av男人天堂 | 国产人成在线视频 | 亚洲欧美激情精品一区二区 | 国产伦精品一区二区三区高清 | 国产亚洲综合性久久久影院 | 欧美激情第十页 | 久久国产免费视频 | 国产中文在线字幕 | 91在线91 | 久久久久久久99 | 国产精品国产亚洲精品看不卡 | 天天摸日日操 | 又黄又爽又无遮挡的视频 | 国产精品一区二区三区视频免费 | 九九热在线免费观看 | 亚洲综合色网站 | 伊人亚洲综合网 | 亚洲在线资源 | 伊人五月天婷婷 | 日日操网| 九九热在线播放 | 欧美午夜精品久久久久久浪潮 | 亚洲黄色一级电影 | 成人欧美一区二区三区在线观看 | 综合久久久久久 | 国产淫片免费看 | 日韩理论在线播放 | 久久手机看片 | 欧美贵妇性狂欢 | 激情网第四色 | 久久av高清 | 国产精品毛片久久久久久久 | 99精品观看 | 在线成人欧美 | av免费看在线 | 欧美日韩一区二区三区在线免费观看 | 欧美日韩精品在线免费观看 | 日本女人的性生活视频 | 日韩精品中文字幕久久臀 | 成人看片 | 中文字幕亚洲五码 | 国产精品一区免费观看 | 国产日韩中文字幕在线 | 黄色1级大片 | 中文字幕在线播放一区 | 99色视频在线 | 日本久久成人中文字幕电影 | 日韩字幕| 免费网站色 | 成人在线播放视频 | 在线观看久久 | 91麻豆精品国产91久久久更新时间 | 99在线热播精品免费99热 | 少妇性aaaaaaaaa视频 | 日韩在线观看影院 | 精品极品在线 | 国产精品久久久久久久免费观看 | 4438全国亚洲精品在线观看视频 | 在线观看视频亚洲 | va视频在线观看 | 久久99精品久久久久久三级 | 婷婷六月久久 | 日韩免费视频观看 | 免费视频黄色 | 日韩免费观看高清 | 高清中文字幕 | 色婷婷久久 | 精品字幕 | 久久午夜国产精品 | 国产在线专区 | 免费网站看av片 | 又湿又紧又大又爽a视频国产 | 一二区精品 | 久久精品中文字幕一区二区三区 | 国产精品一区二区三区在线看 | 久久免费a | www.天天操 | 亚洲成人精品av | 99热日本| 欧美激情精品久久久 | 黄色一级免费 | 色多多在线观看 | 国产精品综合久久久久 | 国产98色在线 | 日韩 | 久久精品在线 | 美女一区网站 | 亚洲精品字幕在线 | 五月天,com| 毛片永久免费 | 蜜臀av夜夜澡人人爽人人 | 久久男人免费视频 | 日韩成人看片 | 手机版av在线 | 国产在线国偷精品产拍免费yy | 亚洲自拍av在线 | 国产精品久久一区二区三区不卡 | 日韩欧美精品免费 | 五月婷婷视频在线观看 | 91成人网页版 | 国产成人精品综合久久久 | 婷婷电影在线观看 | 亚洲精品久久久久www | 黄av资源 | 毛片美女网站 | av福利电影 | 色搞搞 | 日日夜夜精品免费 | 欧美专区国产专区 | 国产一区二区在线免费播放 | 国产精品成人国产乱一区 | 成人福利在线 | 日日夜夜免费精品视频 | 国产中文字幕久久 | 在线激情网 | 国产精品96久久久久久吹潮 | a午夜在线 | 日韩黄色免费 | 欧美坐爱视频 | 超碰国产在线播放 | 亚洲国产日韩精品 | 日韩在线高清视频 | 久久久国产精品一区二区中文 | 色香com. | 久章草在线 | 69av免费视频 | 久久久久一区二区三区 | 精品av在线播放 | 人人射人人插 | 欧美日韩三级在线观看 | 国产高清专区 | 亚洲成av人影院 | 九九热精品视频在线观看 | 亚洲 欧美 国产 va在线影院 | 特级西西444www大精品视频免费看 | 91在线观看视频网站 | 国产性天天综合网 | 天天夜夜狠狠操 | 久久中文精品视频 | 亚洲精品日韩一区二区电影 | 日韩中文在线视频 | 欧美日韩国产在线精品 | 高清在线观看av | 麻豆视频在线播放 | 97成人精品区在线播放 | 91中文字幕一区 | 日本精品久久久久影院 | 99视频免费观看 | 中文字幕在线观看亚洲 | 国产精品剧情在线亚洲 | 亚洲国产影院av久久久久 | 久久精品视频免费播放 | 国产高清永久免费 | 国产精品系列在线观看 | 中文字幕免费一区二区 | 97超碰资源总站 | 成人欧美一区二区三区黑人麻豆 | 国产护士hd高朝护士1 | 四虎成人精品永久免费av九九 | 亚洲人片在线观看 | 青青久视频 | 香蕉国产91 | 免费成视频 | 麻豆国产精品一区二区三区 | 色狠狠综合天天综合综合 | 成 人 黄 色 视频播放1 | 久99久在线| 天天干.com | 人人超碰人人 | 中文字幕日本在线观看 | 亚洲精品456在线播放乱码 | 亚洲一区二区三区在线看 | 99国产一区二区三精品乱码 | 九精品| 免费看黄的视频 | 欧洲精品亚洲精品 | 久久九九久久九九 | 欧美性性网 | 亚洲在线视频观看 | 麻豆91在线 | 91中文字幕在线 | 国产黄视频在线观看 | 黄色毛片大全 | 日韩成人免费在线电影 | 免费视频网 | 人人爽人人爽人人爽人人爽 | 在线看一区二区 | 亚洲欧美日韩精品久久久 | 久久欧美视频 | 欧美性色综合网站 | 九九九免费视频 | 亚洲爱视频 | 免费国产在线观看 | 亚洲国产免费看 | 日韩久久视频 | 免费成人av | 丝袜美腿在线播放 | 91人人澡人人爽 | 婷婷综合五月天 | 日韩精品在线视频 | 国产二区视频在线观看 | 夜夜夜夜夜夜操 | 99这里只有久久精品视频 | 精品久久网| 中文字幕第一页在线视频 | 久久久精品国产免费观看一区二区 | 亚洲乱亚洲乱亚洲 | 日韩一级黄色片 | 最新日韩在线观看 | 免费开视频 | 91视频免费看 | 91九色蝌蚪视频在线 | 久久色亚洲 | 精品国产大片 | 日日爱网址 | 国产成人精品综合久久久 | 中文字幕在线观看视频网站 | 亚洲精品啊啊啊 | 99热最新精品 | 色九色 | 免费看的黄网站 | 伊人宗合| 91热视频在线观看 | 久久av一区二区三区亚洲 | 精品视频 | 在线最新av | av综合站 | 精品91久久久久 | 狠狠色伊人亚洲综合网站野外 | 在线观看黄色大片 | www免费看| 亚洲综合欧美激情 | 国产伦精品一区二区三区无广告 | 免费美女久久99 | 国产在线视频不卡 | 久久久久夜色 | 日韩欧美视频在线免费观看 | 色老板在线 | 97国产在线 | 久久久久网站 | 国产一级大片免费看 | 日韩一区在线播放 | 国产在线观看不卡 |