0

VisualStudio11のNancy/xUnitテストがRazorビューエンジンに依存しているのはなぜですか?ナンシーのデフォルトビューエンジン(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");
}

次の例外が発生します

例外 ここに画像の説明を入力してください

4

1 に答える 1

0

そうではありません。2つの理由でその例外が発生しています

  • Nancy.ViewEngines.Razor nugetをインストールしました。これには、Nancy.ViewEngines.Razor.BuildProviders.dll(Nancy 0.10以降)も含まれています。dllは、ナンシーかみそりエンジンの設計時インテリセンスを有効にするためにあります。ファイルは、Nugetがインストールするビルド後のイベントを通じて、ビルドごとに\binディレクトリにコピーされます。

  • BadImageFormatExceptionは、プロジェクトNancy.ViewEngines.Razor.BuildProvidersプロジェクトにバグがあり、x86システムのみをターゲットにしているためです。これは次の0.11リリースで対処されており、すでにマスターブランチにチェックインされています

したがって、これを修正するには、Nancy.ViewEngines.Razor nuget(SSVEビューのみを使用したと言った)を削除すると、すべてが正常に機能するはずです(nugetをアンインストールすると、ビルド後のイベントフックもアンインストールされます)

于 2012-04-03T14:25:21.720 に答える