首页 > 解决方案 > Asp mvc 5 集成测试 SpecsFor.Mvc

问题描述

我对 SpecsFor.Mvc 有疑问

我正在尝试运行主机服务器:

public static SpecsForIntegrationHost _host;
public void SetupTestRun()
{
    string msBuild = ToolLocationHelper.GetPathToBuildToolsFile("msbuild.exe", "16.0");
    var config = new SpecsForMvcConfig();
    config.UseIISExpress()
    .With(Project.Named("WeatherApp.FrontEnd"))
    .UseMSBuildExecutableAt(msBuild);
    config.BuildRoutesUsing(r => RouteConfig.RegisterRoutes(r));
    config.UseBrowser(BrowserDriver.InternetExplorer);
    _host = new SpecsForIntegrationHost(config);
    _host.Start();
}

但我收到了这个错误:

System.IO.FileLoadException:'无法加载文件或程序集'System.Web.Mvc,版本 = 5.2.4.0,文化 = 中性,PublicKeyToken = 31bf3856ad364e35' r 它的依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)'

我该如何解决?或者还有其他类似的集成测试框架吗?

标签: c#asp.net-mvcintegration-testing

解决方案


听起来您的规范项目正在引用一个版本的 ASP.NET MVC,而您的实际 Web 应用程序正在引用另一个版本。如果您使用的是 Visual Studio,则可以右键单击解决方案并选择“管理 NuGet 包”,然后转到“合并”选项卡。当您使用它时,确保两个项目一开始都运行最新版本的 ASP.NET MVC,并且您在两个项目上都有适当的绑定重定向以确保所有内容都转发到正确的MVC 版本。

我希望这会有所帮助!


推荐阅读