簡體   English   中英

TDD:測試MVC應用程序

[英]TDD: Test MVC application

我從頭開始使用TDD和PHPUnit創建一個新的應用程序。 它將是一個MVC應用程序。 我從模型開始我的測試。 這很有趣,我沒有太多問題。

現在我想創建我的視圖/模型。 但問題是:我如何測試我的控制器? 觀點怎么樣? 我的控制器將使用我測試的模型和我未來的視圖。

謝謝。

MVC中的每個層有三大類測試。 該單元測試模型,控制器的功能測試和視圖的UI測試。

單元測試是最容易編寫的。 它們在時間上很便宜,並且不需要太多的依賴關系來進行存根/模擬。

另一方面,功能測試與單元測試相比有點貴。 在給定的場景中,如果您在應用程序中已經使用單元測試覆蓋了足夠多的模型,那么您可以在功能測試部分放松一下。 但是,您應該仍然擁有良好的代碼覆蓋率 - 100%也是您的控制器方法的理想選擇。

最后一個是UI測試,這是所有測試中最昂貴的。 您可以使用Selenium進行基於瀏覽器的測試,並嘗試使用您的語言進行自動化。 您可能必須在后台運行RC服務器才能實現此目的。 相信我,如果你涵蓋前兩個部分 - 單位和功能,這可以是可選的,如果不是沒有。

並且建議使用代碼覆蓋實用程序進行CI - Continious Integration設置,該實用程序提供通過測試覆蓋的代碼百分比的趨勢。

在運行測試時,您應該只使用被測試的類。 其他物體應該用模子或其他假結構代替。

這樣做是因為(例如)在為控制器操作編寫測試時,您將為所述操作提供一些值,然后檢查是否將正確的數據傳遞給視圖和模型。

這是您應該避免在代碼中使用全局狀態(以靜態調用或全局變量的形式)的原因之一。

您可能會發現一些有用的鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM