掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
ASP.NET MVC單元測試

成都創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)與策劃設(shè)計,寧陽網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:寧陽等地區(qū)。寧陽做網(wǎng)站價格咨詢:18982081108
我們將首先實現(xiàn)測試代碼的編寫。根據(jù)前面的***條測試要求:如果沒有把一個ProductId傳遞到該頁面,則應(yīng)該拋出一個異常。我們需要把一個新的單元測試添加到我們的測試工程。右擊你的測試工程的Controllers文件夾,選擇“添加→新的測試”。然后,選擇單元測試模板,并且命名此該新的單元測試為ProductControllerTest。
在此,請諸位注意我們是如何在ASP.NET創(chuàng)建一個新的單元測試的,因為存在多種方式可以錯誤地添加一個單元測試。例如,如果你右擊Controllers文件夾并且選擇“添加→新的測試”,那么你會看到一個單元測試向?qū)?。這個向?qū)⑸梢粋€單元測試,此測試將運行于一個web服務(wù)器上下文中。但是,這并不是我們想實現(xiàn)的。如果你看到所示的對話框,那么,你要提醒自己你正在以一種錯誤的方式試圖添加一個MVC單元測試。
默認情況下,該ProductControllerTest將包含如列表1所示的***的一個測試方法。
列表1—系統(tǒng)自動生成的最初的文件ProductControllerTest.cs
- [TestMethod]
- public void TestMethod1()
- {
- //
- // TODO: 在此添加測試邏輯
- //…………
- }
現(xiàn)在,我們想修改這個測試方法以便它能夠測試是否拋出一個異?!?dāng)Details頁面要求的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單元測試
【編輯推薦】

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流