У меня есть следующий код
public ClassToTest : IClassToTest
{
private readonly DBRepository rep;
public bool MethodA()
{
//Some logic
var result=MethodB();
//Do some logic against result;
}
public ResultType MethodB()
{
return Rep.GetResult();
}
}
Если я хочу провести модульное тестирование MethodA , какова наилучшая практика для проверки взаимодействия между MethodA и MethodB ? Я имею в виду проверить MethodA , как тестирование MethodB путём проверки зависимости базы данных Rep , как MethodA имеет следующую реализацию
public bool MethodA()
{
//Some logic
var result=Rep.GetResult();
//Do some logic against result;
}
Но это не интуитивно понятно, проверяя логику в коде и метод теста. Я ищу решение, похожее на упомянутое здесь для Java.
модульное тестирование методов комплексного обслуживания
Но это не работает для C #.
Еще один вопрос: что, если MethodB является приватным, имеет ли это значение для стратегии юнит-тестирования?
Обновление: предпочитаю не менять структуру класса. например, не сделать MethodB виртуальным или переместить MethodB из класса в другой тест
Заранее спасибо.