gpt4 book ai didi

c# - MvcContrib TestHelper 在使用 AssertViewRendered 时给出一个奇怪的错误

转载 作者:太空狗 更新时间:2023-10-29 20:08:44 25 4
gpt4 key购买 nike

我正在尝试使用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com