我正在使用ASP.NET MVC 3構建REST API。我正在使用SpecFlow以NUnit作爲測試運行器來執行BDD樣式。ASP.NET中的跨進程嘲諷
由於它是一個REST API,所以測試Url:s顯然非常重要,所以我希望能夠在規範中進行真正的HTTP調用。
我現在正在尋找如何獲得跨進程嘲笑去的提示。簡而言之,我想用我在Specs中生成的實體來模擬數據層。
在Rails應用程序中,我會使用Webrat進行此操作。有沒有什麼等同於.NET中的呢?
我已經嘗試過Deleporter但它似乎並沒有能夠「發送」先進結構(在Deleporter創建工作在規範一個簡單的字符串,並使用它,但不自定義類的屬性全部變爲空)
有沒有人有經驗或提示如何做到這一點?我正在嘗試在Deleporter中做的事情是這樣的(我知道我可以在Deleporter代碼中生成模型,但這是一個簡化的例子,所以這對我不起作用):
var models = Builder<Foo>.CreateListOfSize(300);
Deleporter.Run(() =>
{
var mockService = new Mock<IFooService>();
// Models will be a list of 300 Foos but the foos properties will all be null
mockService.Setup(s => s.GetStuff()).Returns(models);
ObjectFactory.Inject(mockService.Object);
});
這聽起來像是要避免的事情。你能詳細說明你爲什麼要這樣做嗎? – JontyMC 2011-03-02 15:29:14
我認爲Deleporter的作者解釋了爲什麼你想在他的博客文章中做到這一點很好, http://blog.stevensanderson.com/2010/03/09/deleporter-cross-process-code-injection-for-aspnet/將應用程序配置更改爲測試以查看示例...我想測試我的整個應用程序我的規格,而不僅僅是控制器.. – ullmark 2011-03-02 16:54:09
我想從外部測試我的應用程序。由於它是一個Rest API,首先要測試的是HTTP調用... – ullmark 2011-03-02 16:56:01