2012-04-06 57 views
1

我目前正在寫一個MVC3應用程序,將有暴露一個RESTful API。基本上所有我在做的是提供一些 控制器方法返回json對象而不是視圖和正確處理動詞(即放置帖子等)。單元測試ASP.NET MVC 3 RESTful服務沒有一個網絡服務器

我不知道如何單元測試RESTful API。我可以直接在C#中調用控制器,但這意味着 我不是「吃我自己的狗糧」(這是第三方會使用這個API)。 因此,目前在我的單元測試中,我使用HttpWebRequest來創建碰到真實Web服務器的請求。 這不太令人滿意,因爲我現在必須在我的構建機器上運行Web服務器。 有沒有另一種方法來做到這一點?即模擬一個真正的Web請求,一些如何打擊代碼的所有部分,如果它在IIS中運行會被擊中?

回答

2

單元測試裝置測試的代碼的分離的單元,你的情況的控制器。如果您想要對整個系統進行端到端測試,則需要進行更多的集成測試。

你也許可以使用IIS 7主存捲筒紙芯設置你的集成測試,在您自己的過程:

http://blogs.iis.net/carlosag/archive/2008/04/14/host-your-own-web-server-in-your-application-using-iis-7-0-hostable-web-core.aspx

+0

感謝。我會看看。 – bplus 2012-04-08 14:12:33