ASP.NET MVC單元測試
ASP.NET MVC單元測試
我們將首先實現(xiàn)測試代碼的編寫。根據(jù)前面的***條測試要求:如果沒有把一個ProductId傳遞到該頁面,則應該拋出一個異常。我們需要把一個新的單元測試添加到我們的測試工程。右擊你的測試工程的Controllers文件夾,選擇“添加→新的測試”。然后,選擇單元測試模板,并且命名此該新的單元測試為ProductControllerTest。
在此,請諸位注意我們是如何在ASP.NET創(chuàng)建一個新的單元測試的,因為存在多種方式可以錯誤地添加一個單元測試。例如,如果你右擊Controllers文件夾并且選擇“添加→新的測試”,那么你會看到一個單元測試向導。這個向導將生成一個單元測試,此測試將運行于一個web服務器上下文中。但是,這并不是我們想實現(xiàn)的。如果你看到所示的對話框,那么,你要提醒自己你正在以一種錯誤的方式試圖添加一個MVC單元測試。
默認情況下,該ProductControllerTest將包含如列表1所示的***的一個測試方法。
列表1—系統(tǒng)自動生成的最初的文件ProductControllerTest.cs
- [TestMethod]
- public void TestMethod1()
- {
- //
- // TODO: 在此添加測試邏輯
- //…………
- }
現(xiàn)在,我們想修改這個測試方法以便它能夠測試是否拋出一個異?!擠etails頁面要求的ProductId參數(shù)不能滿足時。于是,我們創(chuàng)建如列表2所示的正確測試。
列表2—修改后的文件ProductControllerTest.cs
- [TestMethod]
- [ExpectedException(typeof(ArgumentNullException), "Exception no ProductId")]
- public void Details_NoProductId_ThrowException()
- {
- ProductController controller = new ProductController();
- controller.Details(null);
- }
以上介紹ASP.NET MVC單元測試
【編輯推薦】