Пожалуйста, посмотрите на следующий кодМодульное тестирование метод, который вызывает другой метод другого класса
int sum(int a, int b)
{
int x = memberInstance.xyz(a); // memberInstance is an object of another class
.....
.....
}
Скажем, известно также, что метод чисел хуг возвращает между 1-10. Теперь я хочу разработать метод единичного теста для метода sum, и я хотел бы заменить вызов метода memberInstance.xyz (a) на произвольное возвращаемое значение [любое значение между 1-10]. Пожалуйста, дайте мне знать, как я могу это достичь? Если возможно, укажите пример кода.
Я уже разработал множество классов и экземпляры этих классов привыкают в другие классы. Согласно вашему решению, мне нужно разработать интерфейсы для всех классов, а также изменить код классов, которые фактически используют экземпляр других классов (необходимо иметь ссылку на интерфейс, а не использовать ссылку фактического класса). Есть ли другой способ решить проблему? –
Не совсем ... Это в основном способ сделать это. Лучше всего помнить, когда вы разрабатываете, поэтому вам не нужно возвращаться и вносить изменения. Интерфейсы позволяют вам свободно связывать реализацию зависимостей для объектов, чтобы их можно было легко протестировать. – Alan
Получил это. В будущем я попытаюсь развить этот фактор. Но как создать экземпляр memberInstance в методе тестирования в случае, если memberInstance является частным полем класса Container? –