<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

    動(dòng)手寫一個(gè)Remoting接口測(cè)試工具

     基于.NET開(kāi)發(fā)分布式系統(tǒng),經(jīng)常用到Remoting技術(shù)。在測(cè)試驅(qū)動(dòng)開(kāi)發(fā)流行的今天,如果針對(duì)分布式系統(tǒng)中的每個(gè)Remoting接口的每個(gè)方法都要寫詳細(xì)的測(cè)試腳本,無(wú)疑非常浪費(fèi)時(shí)間。所以,我想寫一個(gè)能自動(dòng)測(cè)試remoting接口的小工具InterfaceTester。而且,當(dāng)分布式系統(tǒng)中的某個(gè)remoting接口出現(xiàn)bug時(shí),該小工具可以提交需要模擬的數(shù)據(jù),以便在調(diào)試remoting服務(wù)的環(huán)境中,快速定位和解決bug。
      InterfaceTester運(yùn)行起來(lái)后的效果如下圖:
      1.如何使用
      (1)首先,填上要測(cè)試的并且是已經(jīng)發(fā)布的Remoting服務(wù)的地址信息。
      (2)選取要測(cè)試的remoting接口所在的程序集,一般是一個(gè)dll。選定程序集后,InterfaceTester會(huì)自動(dòng)搜索該程序集中定義的所有接口,并將其綁定到“接口類型”的下拉列表。
      (3)從 “接口類型”的下拉列表中選擇要測(cè)試的接口。選定接口后,InterfaceTester會(huì)自動(dòng)搜索該接口中定義的所有方法,并將其綁定到“目標(biāo)方法”的下拉列表。
      (4)從 “目標(biāo)方法”的下拉列表中選擇要測(cè)試的方法,InterfaceTester會(huì)根據(jù)該方法所要求的參數(shù),自動(dòng)生成參數(shù)錄入界面。
      (5)在參數(shù)錄入界面上,輸入用于測(cè)試的參數(shù)的值,然后,點(diǎn)擊“調(diào)用”按鈕, InterfaceTester便會(huì)調(diào)用上述指定地址的remtoing服務(wù)的指定接口的指定方法,如果調(diào)用的方法有返回值,則會(huì)在“調(diào)用返回”的panel上顯示該值。如果返回的不是一個(gè)簡(jiǎn)單類型,而是一個(gè)對(duì)象,則“調(diào)用返回”的panel上將會(huì)以xml的形式顯示這個(gè)對(duì)象的各個(gè)屬性值。
      2.實(shí)現(xiàn)原理
      就這個(gè)小工具的實(shí)現(xiàn)而言,主要用到的技術(shù)就是反射(reflection)。另外,需要注意的就是,根據(jù)參數(shù)的類型,生成錄入界面。具體細(xì)節(jié)大家可以參見(jiàn)源碼。目前,InterfaceTester支持的被測(cè)試方法的參數(shù)類型是有限制的:
      (1)支持簡(jiǎn)單的數(shù)據(jù)類型,像string、int、bool等。
      (2)支持List<>、I List<>、IDictionary<,>、Dictionary<,>等集合類型。
      (3)支持簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)的class(如像Point、自定義的Entity等)。
      3.源碼解決方案
      下載源碼并用VS打開(kāi)后,解決方案下有三個(gè)項(xiàng)目:InterfaceTester、DemoInterface、DemoService。
      (1)InterfaceTester項(xiàng)目是我們本文的主角:用于remoting接口測(cè)試的小工具。
      (2)DemoInterface和 DemoService則是為了試試小工具而構(gòu)建的一個(gè)小demo。 DemoInterface定義了發(fā)布的remoting服務(wù)的接口, DemoService則是發(fā)布的remoting服務(wù)。
      在試用時(shí),先啟動(dòng) DemoService項(xiàng)目,再啟動(dòng)InterfaceTester,就可以試試我們的小工具功能了。

    posted on 2014-05-23 10:08 順其自然EVO 閱讀(246) 評(píng)論(0)  編輯  收藏 所屬分類: 測(cè)試學(xué)習(xí)專欄

    <2014年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲精品国产成人| 国产精品免费一区二区三区| 日韩成人免费在线| rh男男车车的车车免费网站| 亚洲狠狠ady亚洲精品大秀| 麻豆成人精品国产免费| 国产免费福利体检区久久| 亚洲国产成人久久精品app| 全部免费国产潢色一级| 日韩人妻无码精品久久免费一| 亚洲人成色4444在线观看| 中文字幕无码精品亚洲资源网| 免费精品国产自产拍在| 国产精品成人免费观看| 亚洲AV日韩综合一区尤物 | 欧洲亚洲国产清在高| 成年女人男人免费视频播放| 中文字幕免费在线看| 亚洲中文字幕无码亚洲成A人片| 亚洲中文字幕无码爆乳AV| 成人毛片免费观看| 99久久精品免费精品国产| 免费手机在线看片| 亚洲日韩中文字幕无码一区| 亚洲av日韩av天堂影片精品| 亚洲免费在线观看| 免费看香港一级毛片| 99久久久国产精品免费牛牛 | 一级特黄录像视频免费| 麻豆狠色伊人亚洲综合网站| 亚洲精品国偷自产在线| jjzz亚洲亚洲女人| 女人被男人桶得好爽免费视频 | 亚洲电影免费在线观看| 一区免费在线观看| 精品久久久久亚洲| 国产亚洲精aa在线看| 亚洲一级片在线播放| 香蕉蕉亚亚洲aav综合| 亚洲自偷自偷图片| 亚洲欧洲中文日韩av乱码|