При написании модульных тестов для одного класса, который содержит другие объекты, какой лучший способ использовать
макет объектов, чтобы избежать испытаний, зависящих от других классов.
Пример 1:
public class MyClass
{
protected MyObject _obj;
public MyClass()
{
_obj = new MyObject();
}
public object DoSomething()
{
//some work
_obj.MethodCall();
//more work;
return result;
}
}
Я бы предпочел не раскрывать защищенное значение для создания модульного теста для кода. Класс-обёртка будет
работает для тестирования, но есть ли лучший способ?
Пример 2:
public class MyClass
{
public object DoSomething()
{
//some work
MyObject obj = new obj(parameters);
_obj.MethodCall(Method1);
//more work;
return result;
}
public int Method1()
{ ... }
}
Аналогично приведенному выше примеру, но объект создается в методе, который я вызываю.
Пример 3:
public class MyClass
{
public object DoSomething()
{
//some work
obj.MethodCall(Method1);
//more work;
return result;
}
public int MethodA()
{ ... }
}
Есть ли способ проверить MethodA, когда он используется только в качестве делегата?