Sadece ayaklarımı Nancy'de ıslatıyorum. Test sürecini Wiki'de görmek beni çok heyecanlandırdı, ancak aşağıdakileri denediğimde, test yapamamıştım. VS2010Neden DefaultNancyBoostrapper `NancyModule'imi bulamıyor
- kullanma
Empty ASP.NET Web Application Project
oluşturuldu Notify.App Install-Package Nancy.Hosting.AspNet
- basit Modülü düzenlendi aşağıda listelenen: Notify.UnitTests
Install-Package Nancy.Testing
- :
- düzenlendi
Class Library
Projesi NotifyModuleInstall-Package XUnit
- düzenlendi basit ilk test: Test
HttpStatusCode.NotFound
ile başarısızDefaultNancyBootstrapper
kullanma BaseUrlSpec.cs
.
var bootstrapper = new ConfigurableBootstrapper(
with =>
with.Module<NotifyModule>());
daha sonra test geçer: Birlikte
bootstrapper
tanımını değiştirin. DefaultNancyBootstrapper'ı kullanan SDHP'nin neden çalışmadığını anlamıyorum. Onu kırmak için yanlış bir şey mi yaptım yoksa anladığımda ayrıntıları kaçırıyor muyum?
NotifyModule
using Nancy;
public class NotifyModule : NancyModule {
public NotifyModule() {
Get["/"] = _ => HttpStatusCode.OK;
}
}
BaseUrlSpec
Sen rotanızı içeren derleme yüklü olduğundan emin olmak için ihtiyaç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 doğrudur. Bu bir .NET meselesi, bir Nancy olayı değil. // github: Eğer 'var foo = typeof (NotifyModule) yapmak olsaydı' senin testinde o zaman 0.17 biz https bir Nancy derlemede başvuran tüm meclisleri yükleyerek, bu geçici bir çözüm bulmak, ancak DefaultNancyBootstrapper' 'ile geçerdi .com/NancyFx/Nancy/pull/1001 – TheCodeJunkie
Bu yüzden, uygulamamın birim test kitaplığındaki 'Referanslar'dan biri olarak görünmesi, Nancy'nin onu almasına neden olmaz. –
Hayır, bir montaj referansı yeterli değil. Kodunuzda bir referansa ihtiyacınız var. –