<li id="zlxyr"></li>
    1. <dfn id="zlxyr"></dfn>
      <dfn id="zlxyr"></dfn>
        <li id="zlxyr"><optgroup id="zlxyr"><listing id="zlxyr"></listing></optgroup></li>
        您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源單元測(cè)試工具 > Nunit
        NUnitForms測(cè)試GUI應(yīng)用程序的工具
        作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2015/4/27 11:22:57 ] 推薦標(biāo)簽:NUnitForms GUI 應(yīng)用程序 單元測(cè)試

          的NUnit是單元測(cè)試的工具,但是要在一個(gè)測(cè)試方法中啟動(dòng)GUI程序,比如Windows Form界面,這比較難做到。NUnitForms是為解決這個(gè)問(wèn)題產(chǎn)生的,它是NUnit的一個(gè)擴(kuò)展程序,可用于測(cè)試Windows Forms 類型的程序。
          首先從NUnitForm網(wǎng)站下載安裝程序,地址是 http://nunitforms.sourceforge.net/index.html,并執(zhí)行安裝。
          在VS2010中新增一個(gè)測(cè)試項(xiàng)目,添加對(duì)兩個(gè)程序集NUnit.Framework和NUnit.NunitForms引用,添加新測(cè)試類型:
          using NUnit.Framework;
          using NUnit.Extensions.Forms;
          …
          Namespace yourTestSuiteNameSpace
          {
          [TestFixture]
          public class myGUITests : NUnitFormTest
          …
          }
          如果要顯示GUID,則測(cè)試類型應(yīng)該繼承于NUnitFormTest, 添加TestFixture特性,再添加一個(gè)Test方法:
          [Test]
          pubilc void ShowDilalogTest()
          {
          Form dlg=new Form();
          dlg.Show();
          }
          啟動(dòng)GUI界面
          如果您的Visual Studio已經(jīng)安裝了Resharper插件,則可以直接點(diǎn)擊被測(cè)試方法的簽名地方,選擇調(diào)試或是運(yùn)行測(cè)試,上面的測(cè)試方面會(huì)顯示一個(gè)GUI界面,關(guān)閉窗體,測(cè)試完成。
          也可以用窗體實(shí)例的ShowDialog 方法調(diào)出界面,顯示為個(gè)model對(duì)話框。
          引用控件
          如果要引用被測(cè)試窗體中的控件,命名空間NUnitForms 中有一些以Tester類型結(jié)尾的類型可供使用。這些類型繼承于ControlTester ,可以用ControlTester 來(lái)測(cè)試控件,也可以用它的派生類型。
          以ControlTester類來(lái)測(cè)試任何控件,可以像這樣通過(guò)屬性的索引來(lái)訪問(wèn)它的屬性.
          ControlTester textBox = new ControlTester("nameOfSomeTextBox");
          Assertion.AssertEquals("defaultText", textBox["Text"]);
          textBox["text"] = "newText";
          嘗試使用FireEvent方法來(lái)觸發(fā)控件的一個(gè)事件:
          ControlTester button = new ControlTester("nameOfSomeButton");
          button.FireEvent("Click");
          比如,為了引用窗體MyFormName類型中的button1的按鈕,可以下面的方法引用此控件:
          ButtonTester buttonTester = new ButtonTester("button1", "MyFormName");
          如果你省略了"formName"參數(shù), NUnitForms將在所有打開的Form中查找控件。
          對(duì)于Panel控件,要引用它的子控件,可參考下面的寫法,以逗號(hào)分隔多個(gè)名稱:
          CheckBoxTester uncheckBoxTester = new CheckBoxTester( "aPanelName.checkBoxName", "MyFormName");
          RadioButtonTester radioTester = new RadioButtonTester("mainFormControlName.panelName.radioButtonName",  "MyFormName");
          如果NUnitForms找不到你的控件, 會(huì)拋出一個(gè)NoSuchControlException異常. 如果控件的名稱沒(méi)有資格使它成為一個(gè)命名的控件, 將會(huì)被拋出AmbiguousNameException異常.

        上一頁(yè)12下一頁(yè)
        軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
        滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd