为什么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");
}
我收到以下异常
异常
答案 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事件钩子)