私はナンシーで足を濡らしています。Wiki でテスト プロセスを見てとても興奮しましたが、次のことを試してみたところ、最初はテストに合格することができませんでした。
VS2010 の使用
- 作成
Empty ASP.NET Web Application Project
: Notify.App Install-Package Nancy.Hosting.AspNet
- 以下にリストされている単純なモジュールを作成しました: NotifyModule
- 作成した
Class Library
プロジェクト: Notify.UnitTests Install-Package Nancy.Testing
Install-Package XUnit
- 簡単な最初のテストを作成しました: BaseUrlSpec.cs
DefaultNancyBootstrapper
テストの使用は で失敗しHttpStatusCode.NotFound
ます。
bootstrapper
定義を次のように置き換えると:
var bootstrapper = new ConfigurableBootstrapper(
with =>
with.Module<NotifyModule>());
その後、テストに合格します。 DefaultNancyBootstrapper を使用した SDHP が機能しなかった理由がわかりません。それを壊すために私は何か間違ったことをしましたか、それとも私の理解に詳細が欠けていますか?
通知モジュール
using Nancy;
public class NotifyModule : NancyModule {
public NotifyModule() {
Get["/"] = _ => HttpStatusCode.OK;
}
}
BaseUrlSpec
using Nancy;
using Nancy.Testing;
using Notify.App;
using Xunit;
public class BaseUrlSpec
{
[Fact]
public void ShouldRespondOk()
{
var bootstrapper = new DefaultNancyBoostrapper();
var app = new Browser(bootstrapper);
var response = app.Get("/", with => with.HttpRequest());
var statusCode = response.StatusCode;
Assert.Equal(HttpStatusCode.OK, statusCode);
}
}