Nancy Webアプリの単体テストを行うと、「閉じたストリームにアクセスできません」というメッセージが表示されます。
私のモジュールは次のとおりです。
public class MainModule : NancyModule
{
public MainModule()
{
Get["/{Name}"] = p =>
{
var command = this.Bind<MainCommand>();
return Response.AsJson(command.ExecuteGetMessage());
};
}
}
そして私のテストは:
[Test]
public void Should_return_welcome_message()
{
// When
var bootstrapper = new DefaultNancyBootstrapper();
var browser = new Browser(bootstrapper);
BrowserResponse browserResponse = browser.Get("/", with =>
{
with.HttpRequest();
});
Console.WriteLine(browserResponse.StatusCode);
Console.WriteLine(browserResponse.Body.ToString());
// Then
Assert.AreEqual(HttpStatusCode.OK,browserResponse.StatusCode);
}
更新: StatusCode = NotFoundを取得していますが、browserResponse.Bodyにアクセスしようとすると例外が発生します。
ナンシーフォーラムとここStackOverflowを見てみました。私はこの解決策を試しました:ナンシーテストは他のアセンブリでルートを見つけません
しかし、まだ機能していません。
デバッグモードでテストを実行すると、モジュールが呼び出されていることがわかりますが、それでも戻り値を確認できません。
それを機能させるにはどうすればよいですか?
ありがとう
アデマール