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

  對于層層嵌套控件的命名,請參考下面的例子
  控件的命名 NUnitForms通過控件的Name屬性來查找你要測試的控件. 如果在一個form中有多個相同名稱的控件, 那么他們必須像下面這樣進(jìn)行限定:
  Form    PanelA      UserControl1        Button           (PanelA.UserControl1.Button)       UserControl2        Button           (UserControl2.Button)    PanelB      UserControl1        Button           (PanelB.UserControl1.Button)
  Model/Modeless Dialog 模式窗體/非模式窗體
  當(dāng)測試窗體時,如果這個窗體要調(diào)出子窗體或是調(diào)出對話框,這時需要把窗體的測試邏輯放到一個public void簽名的方法中,并用ExprectModel指定方法名稱:
[Test]
public void TestOKButtonTest()
{
ExpectModal("FormName", "formNameHandler");
FormName form = new FormName();
form.ShowDialog();

public void formNameHandler ()
{
ButtonTester buttonTester = new ButtonTester("okButton", " FormName");
// Check the OK button's text and then click it
Assert.AreEqual("OK", buttonTester.Text, "FormName’s OK button text is wrong '" +  buttonTester.Text + "'");
buttonTester.Click();
}
  測試時,如果要調(diào)出message box,請參考下面的寫法
  ExpectModal("messageBoxCaption", "messageBoxClickerMethod");
  多線程測試
  如果運(yùn)用到多線程測試窗體,應(yīng)該像下面的例子一樣,注冊一個委托類型,把測試代碼放到該方法中
public void genericFormHandler()
{
// Do nothing in this method!
}

[Test]
public void MainFormTest()
{

MainGUIForm mainForm = new MainGUIForm();
mainForm.OnFormReady += new EventHandler<EventArgs> (mainFormTestLogic);
ExpectModal("MainGUIForm", "genericFormHandler");
mainForm.ShowDialog();

}
public void mainFormTestLogic (object sender, EventArgs e)
  目前可以下載到的版本是NUnitFormsV2.0.0.5 alpha4。
  單元測試的目的是改善代碼
  既然可以調(diào)出窗體,可以測試自定義控件,這是一種測試自定義控件的好方法。
  測試項(xiàng)目與Resharper配合起來,很容易啟動,調(diào)試,修改,這樣做單元測試,才是有益于改善代碼的測試。

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