• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 使用WatiN對ASP.NET頁面進行單元測試[2]

    發表于:2010-01-28來源:作者:點擊數: 標簽:單元AspWatiNNetNET
    使用WatiN對ASP.NET頁面進行單元測試[2] 單元測試工具 這個類有TestFixture特性(Attribute),STA值確保該測試運行于STA(Single Threaded Apartment)狀態下。這是因為測試代碼要加載IE。 WatiN中的IE類完成了主要工作。IE類打開IE,通過name或id來引用h uml

      使用WatiN對ASP.NET頁面進行單元測試[2]  單元測試工具

      這個類有TestFixture特性(Attribute),STA值確保該測試運行于STA(Single Threaded Apartment)狀態下。這是因為測試代碼要加載IE。

      WatiN中的IE類完成了主要工作。IE類打開IE,通過name或id來引用huml控件。這一行ie.TextField("txtName").TypeText("Mohammad Azam"),引用了id為“txtName”的文本框。瀏覽器加載后,WatiN會將值“Mohammad Azam”寫入id為“txtName”的文本框。這個過程在測試時你會看到的。然后id為“chkAgree”的復選框會被選中。最后,WatiN會按下提交按鈕,窗體被提交。

      運行測試,失敗。因為名為“lblMessage”的Label從未被賦值為“Valid”。加上這段代碼:

      protected void btnAgree_Click(object sender, EventArgs e)

      {

      lblMessage.Text = "Valid";

      }

      現在,如果你運行測試它會通過。但是,好像不太正確。如果我們把這一行測試代碼刪掉:

      ie.CheckBox("chkAgree").Checked = true;

      再次運行測試,依然能通過。這可不對!應當只有在CheckBox選中時才可通過。將頁面的Code behind代碼改一下。

      protected void btnAgree_Click(object sender, EventArgs e)

      {

      if (chkAgree.Checked)

      {

      lblMessage.Text = "Valid";

      }

      }

      現在,測試只有在CheckBox選中時才可通過了。  軟件測試 

        以編程方式運行Web服務器

      在上例中我們需要運行WebServer,要么是通過命令行工具,要么是通過運行Web項目。但有時我們需要單元測試項目能夠動態打開一個WebServer。一起來看看。

      首先,如果你需要打開ASP.NET內部服務器(WebDev.WebServer),可以使用命令行。語法如下:

      WebDev.WebServer.exe /port:1950 /path:"C:\Projects\MyWebApplication"

      需要定位到WebDev.WebServer所在的目錄,默認情況下它在:

      C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\WebDev.WebServer.exe

      好了,現在來看看如何在單元測試中打開服務器。首先,添加必要的配置(App.config中)。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>