Хорошо - я люблю NancyFx. Написание веб- приложения с этими несколькими строками просто удивительно!
Но как вы тестируете привод модулей NancyModules на уровне блока?
Обратите внимание, что я знаю отличную тестовую рамку , поставляемую с Nancy (Nancy.Testing on NuGet), которая дает отличные способы тестирования всего (почти) стека приложений. Но теперь я имею в виду тест уровня unit , который я использую для заполнения содержимого моего NancyModule, по типу TDD.
Поскольку маршруты определены в конструкторе, часто вместе с выражением lamda, составляющим все действие, он чувствует себя немного «недостижимым» из единичного теста. Но пропустил ли я что-то очевидное о том, как тестировать действия маршрута?
Например, как бы выглядел единичный тест для этого простого приложения?
public class ResouceModule : NancyModule
{
private IProductRepository _productRepo;
public ResourceModule(IProductRepository repo) : base("/products")
{
Get["/list"] = parameters => {
return View["productList.cshtml", repo.GetAllProducts()];
};
}
}
Смотрите там - теперь я написал производственный код перед тестом...:) Есть предложения по началу теста?
-121--1123729-
Я задаю этот вопрос исключительно для оперативных аспектов вопроса.
Какова разница в скорости между получением значения от объекта, когда он является частным или общедоступным (Java)?
class MyClass {
public int myInt = 5;
}
class MyOtherClass {
private int myInt = 5;
public int getMyInt() {
return myInt;
}
}
class MyMainClass {
public static void main (String [] args) {
MyClass myObject = new MyClass();
MyOtherClass myOtherObject = new MyOtherClass();
// which is faster?
System.out.println(myObject.myInt);
System.out.println(myOtherObject.getMyInt ());
}
}
Я знаю, что могу проверить его, но если кто-то уже знает это, это не может повредить:) Заранее спасибо!