У меня есть класс, подобный следующему:
public class MyProxy : ClientBase<IService>, IService
{
public MyProxy(String endpointConfiguration) :
base(endpointConfiguration) { }
public int DoSomething(int x)
{
int result = DoSomethingToX(x); //This passes unit testing
int result2 = ((IService)this).DoWork(x)
//do I have to extract this part into a separate method just
//to test it even though it's only a couple of lines?
//Do something on result2
int result3 = result2 ...
return result3;
}
int IService.DoWork(int x)
{
return base.Channel.DoWork(x);
}
}
Проблема заключается в том, что при тестировании я не знаю, как смоделировать элемент result2 без выделения части, которая получает result3 с использованием result2, в отдельный метод. И, поскольку это модульное тестирование, я не хочу вдаваться в подробности, чтобы проверить, каким будет результат result2 ... Я бы предпочел посмеяться над данными как-то ... например, иметь возможность вызвать функцию и заменить только это один звонок.