8
ナンシーで足が濡れているだけです。私はWikiのテストプロセスを見ることに本当に興奮しましたが、私が次のことを試してみると、最初にテストに合格することができませんでした。「DefaultNancyBoostrapper」がNancyModuleを見つけられないのはなぜですか
Empty ASP.NET Web Application Project
を作成したVS2010
- を使用する:Notify.App、下記のような単純なモジュールを作成し
Install-Package Nancy.Hosting.AspNet
- :Notify.UnitTests
Install-Package Nancy.Testing
- :
- NotifyModule
Class Library
プロジェクトを作成しましたInstall-Package XUnit
- 作成されたシンプルな最初のテスト:テストは
HttpStatusCode.NotFound
で失敗DefaultNancyBootstrapper
を使用してBaseUrlSpec.cs
。
私はbootstrapper
定義を交換する場合:
var bootstrapper = new ConfigurableBootstrapper(
with =>
with.Module<NotifyModule>());
テストは合格。 DefaultNancyBootstrapperを使用しているSDHPが動作しなかった理由を理解できませんか?私はそれを壊すために何か間違ったことをしましたか、私は理解の細部を欠いていますか?
using Nancy;
public class NotifyModule : NancyModule {
public NotifyModule() {
Get["/"] = _ => HttpStatusCode.OK;
}
}
NotifyModule
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);
}
}
クリスチャンは正しいです。これは.NETのものであり、Nancyのものではありません。テストで 'var foo = typeof(NotifyModule)'を実行すると、 'DefaultNancyBootstrapper'で渡されます。しかし、0.17では、Nancyアセンブリhttps:// githubを参照するすべてのアセンブリをロードすることで、 .com/NancyFx/Nancy/pull/1001 – TheCodeJunkie
ユニットテストライブラリの「参考文献」の1つとして私のアプリケーションを持っているだけで、ナンシーがそれを取り上げることはありません。 –
いいえ、アセンブリ参照では不十分です。コード内に参照が必要です。 –