在該測試用例中,每個用戶都必須擁有一個全名、一個用戶名、一個密碼和一個郵件地址等,所有的信息都是必須的。
基本步驟典型的步驟如下:
編寫測試 確保測試失敗 編寫代碼使測試成功 重構 重復以上步驟第一個測試第一個要進行的測試是添加新用戶的測試。測試驅動開發與其說是測試的技術不如說是設計的技術,因為當編寫測試的時候,我們將規定代碼或頁面的工作方式,這個過程就是設計。
對于添加一個新用戶而言,像下面這樣簡單的表單就夠了:
對于功能測試,開發者需要打開添加頁面(準備階段),填寫表單并保存(執行階段)和確認用戶是否被保存了(項目的確認階段)。為了做到這一點,開發者需要更新頁面,在左側添加一個新的包含用戶信息的列表,以便在點擊“保存”按鈕后可以驗證用戶存在與否。
使用Selenium對于像這樣的工作,開發者需要一個能夠適合他們的執行這個行為的工具。Selenium在瀏覽器中可以方便地做到這一點,它也是一個很好的開源工具,可以根據你自己的需要進行修改。Selenium提供了基于Web的功能測試,而且只需要一個為開發人員運行這些行為的編譯器,Selenium就能使這些測試的編寫過程像HTML測試那么簡單:
對于希望將自己的測試整合到一個持續集成的工具中的開發者而言,最大的喜訊莫過于,他們可以用自己喜歡的語言(如C#、JAVA、VB.NET、Ruby或者Python等)來編寫測試,并利用Selenium的一個名為Selenium RC的擴展實現整合。
比如使用 Selenium RC時,該測試的.NET版如下:
第二步,保證初始的測試失敗在這一階段開發者沒有寫任何代碼,因此測試失敗。 首先啟動Selenium RC服務器(一個處理Selenium指令并將它們傳送給瀏覽器的小型java服務器):
>java -jar selenium-server.jar意料之中,運行的測試失敗:
這是一個好現象,因為這意味著測試在應該失敗時失敗了。否則這次測試就沒有起到任何作用,是毫無意義的。
第三步,編寫代碼在TDD實施步驟的第三步中,開發者需要編寫代碼。這意味著當反向測試時,代碼應該不會運行失敗。下一步建立User控制器,然后建立視圖并運行測試:
接著再建立一個空的add.vm,并且重新運行該測試:
原文轉自:http://www.anti-gravitydesign.com