Хорошо - я люблю NancyFx. Написание веб-приложения с помощью этих нескольких строк просто потрясающе!
Но как протестировать модули NancyModules на уровне отдельных устройств?
Обратите внимание, что мне известно об отличной тестовой среде, поставляемой с Nancy (Nancy .Testing на NuGet), что дает отличные способы протестировать весь (почти) стек приложения. Но теперь я имею в виду тест уровня unit, который я использую для конкретизации содержимого моего NancyModule в стиле TDD.
Поскольку маршруты определяются в конструкторе, часто вместе с лямбда-выражением, составляющим все действие, он кажется немного «недостижимым» в модульном тесте. Но я пропустил что-то очевидное о том, как проверить действия маршрута?
Например, как будет выглядеть модульный тест для этого простого приложения?
public class ResouceModule : NancyModule
{
private IProductRepository _productRepo;
public ResourceModule(IProductRepository repo) : base("/products")
{
Get["/list"] = parameters => {
return View["productList.cshtml", repo.GetAllProducts()];
};
}
}
Видишь ли, теперь я написал производственный код перед тестом... :) Есть предложения, как начать с теста?