您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > Nunit
NUnitForms測試GUI應用程序的工具
作者:網(wǎng)絡轉載 發(fā)布時間:[ 2015/4/27 11:22:57 ] 推薦標簽:NUnitForms GUI 應用程序 單元測試

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

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