南希:为什么xUnit测试依赖于Razor视图引擎?

时间:2012-04-03 13:33:24

标签: nancy

为什么Visual Studio 11中的Nancy / xUnit测试依赖于Razor视图引擎?我正在使用Nancy默认视图引擎(SSVE)。我需要一个不同的引导程序吗?

测试

[Fact]
public void Register_mentor_Should_redirect_to_mentor_home()
{
    // Given
    var bootstrapper = new DefaultNancyBootstrapper();
    var browser = new Browser(bootstrapper);

    //When
    var response = browser.Post("/register", (with) =>
    {
        with.HttpRequest();
        with.FormValue("role", "mentor");
    });

    // Then
    response.ShouldHaveRedirectedTo("/mentor");
}

我收到以下异常

异常 enter image description here

1 个答案:

答案 0 :(得分:0)

没有。你看到这个例外有两个原因

  • 您已经安装了Nancy.ViewEngines.Razor nuget,其中还包括Nancy.ViewEngines.Razor.BuildProviders.dll(自Nancy 0.10起)。 dll用于为Nancy剃刀引擎启用设计时智能感知。通过Nuget安装的构建后事件将文件复制到每个构建的\ bin目录中

  • BadImageFormatException是因为我们的项目Nancy.ViewEngines.Razor.BuildProviders项目中有一个错误,它只使它成为x86系统的目标。这已在即将发布的0.11版本中得到解决,并且已经检入主分支

所以要解决这个问题,删除Nancy.ViewEngines.Razor nuget(你说你只使用SSVE视图)并且每件事都应该正常工作(卸载nuget也会卸载post-build事件钩子)