当我使用 eric lipton 提供的这个应用程序从 Steve Sanderson 的 Pro ASP.NET MVC 框架(从 asp.net 1.0 到 mvc 2 beta)迁移示例 SportsStore 应用程序时,一切正常 - 除了 2 个单元测试。
两者的错误消息是:
Tests.CartControllerTests.VeryLongTestMethodName:
System.ArgumentNullException: value can't be undefined。
参数名称:context
我怀疑这是因为版本 2 中的默认模型绑定器支持 DataAnnotations,因为来自 NUnit 的堆栈调用跟踪告诉我 DefaultModelBinder 中的一些问题。有什么想法可以解决吗?
编辑
尝试使用起订量来解决问题,但没有奏效。这是代码:
var request = new Moq.Mock<HttpRequestBase>();
request.Setup(r => r.HttpMethod).Returns("POST");
var mockHttpContext = new Moq.Mock<HttpContextBase>();
mockHttpContext.Setup(c => c.Request).Returns(request.Object);
controllerContext = new ControllerContext(mockHttpContext.Object, new RouteData(),
new Moq.Mock<ControllerBase>().Object);
我正在测试的方法只提交 POST。可以将“POST”放到我的测试中吗?