- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用 MvcContrib 测试助手来测试 MVC3 中的 Controller 方法。
Controller :
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
}
测试:
[TestMethod]
public void Index()
{
// Arrange
HomeController controller = new HomeController();
// Act
ViewResult result = controller.Index() as ViewResult;
// Assert
result.AssertViewRendered().ForView("Index");
}
错误:
Test method Tests.Web.Controllers.HomeControllerTests.Index threw exception: MvcContrib.TestHelper.ActionResultAssertionException: Expected result to be of type ViewResult. It is actually of type ViewResult.
有什么想法吗?
最佳答案
MVCContrib.TestHelper 使用的是旧版本的 MVC。该网站现在确实有一个 MVC3 版本,但在我写这篇文章时,这个 MVC4 已经出来了,而且 MVC4 的更新 MVCContrib.TestHelpers 还不存在。
在不接触源代码的情况下,您可以使用绑定(bind)重定向来解决此问题。将其放入您的测试 app.config 中:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
以上示例指出所有程序集要求 MVC 版本 1-3 使用 4。
关于c# - MvcContrib TestHelper 在使用 AssertViewRendered 时给出一个奇怪的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4409592/
我正在尝试使用 MvcContrib 测试助手来测试 MVC3 中的 Controller 方法。 Controller : public class HomeController : Control
我在我的 ASP.NET MVC 3 项目中使用 T4MVC。我有以下基本测试: [TestMethod] public void IndexReturnsIndexView() { var
我有以下单元测试: [TestMethod] public void Add_Returns_Edit_View() { // Act Acti
我是一名优秀的程序员,十分优秀!