Po prostu mam mokre stopy w Nancy. Byłem bardzo podekscytowany, gdy zobaczyłem proces testowania na Wiki, ale kiedy próbowałem następujących rzeczy, nie mogłem tego zrobić, praca na początku zdała testy.Dlaczego `DefaultNancyBoostrapper` nie znajduje mojego NancyModule
Korzystanie VS2010
- Utworzono
Empty ASP.NET Web Application Project
: Notify.App Install-Package Nancy.Hosting.AspNet
- Utworzono prosty moduł, jak wymienione poniżej: NotifyModule
- Utworzono
Class Library
projekt: Notify.UnitTests Install-Package Nancy.Testing
Install-Package XUnit
- Utworzony proste Pierwszy test: BaseUrlSpec.cs
Korzystanie DefaultNancyBootstrapper
test nie powiedzie się z HttpStatusCode.NotFound
.
Jeśli zastąpić definicje bootstrapper
z:
var bootstrapper = new ConfigurableBootstrapper(
with =>
with.Module<NotifyModule>());
następnie przechodzi testu. Nie rozumiem, dlaczego SDHP przy użyciu DefaultNancyBootstrapper nie działa? Czy zrobiłem coś złego, aby go złamać, czy też brakuje mi szczegółów w moim rozumieniu?
NotifyModule
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);
}
}
Christian ma rację. To jest rzecz .NET, a nie rzecz Nancy. Jeśli miałbyś wykonać 'var foo = typeof (NotifyModule)' w twoim teście, to przeszedłby on z 'DefaultNancyBootstrapper' Jednak w 0.17 próbujemy obejść to, ładując wszystkie zestawy, które odwołują się do zespołu Nancy https: // github .com/NancyFx/Nancy/pull/1001 – TheCodeJunkie
Po prostu posiadanie mojej aplikacji jako jednej z "Referencji" w bibliotece testów jednostkowych nie powoduje, że Nancy ją podnosi. –
Nie, odwołanie do zestawu nie jest wystarczające. Potrzebujesz kodu w swoim kodzie. –