Я пришел из Java-фона и новичок в Python.В Java, если класс инициализирует свое собственное свойство, например (это плохо для модульного тестирования):
class TestMe {
Logger logger;
public TestMe() {
this.logger = new Logger();
}
//...stuff
}
Я бы реорганизовал его, чтобы я мог предоставить ложную зависимость и протестировать класс без создания реального экземпляраLogger:
class TestMe {
Logger logger;
public TestMe(ILogger logger) {
this.logger = logger;
}
//...stuff
}
Но python - это совсем другой язык, и может быть способ смоделировать это свойство без рефакторинга:
import Logger
class TestMe:
def __init__(self):
self.logger = Logger()
# stuff
есть ли способ смоделировать Logger вышекласс python без рефакторинга?