У меня есть класс, который при помощи configparser.ConfigParser() парсит конфиги, я сейчас хочу написать тесты для своего класса. Проблемы у меня возникли, когда я разбирался как правильно писать тесты.
На сколько я понял правильно написанные тесты в идеале не должны обращаться к файловой системе и для того, чтобы это сделать я хотел замокать несколько методов класса ConfigParser, чтобы они просто статично отдавали нужные мне тестовые данные и с этим у меня возникли проблемы. Помогите пожалуйста примером кода, который делает то, что мне нужно.
Если упрощенно, то код у меня выглядит вот так. Мне нужно понять как мне замокать в классе ConfigParser методы read и get_option. Чтобы я мог тестировать SomeClass.
class ConfigParser: def __init__(self, path): self.path = path self.parsed_data = [] def read(self): with open(self.path) as f: for i in f: self.parsed_data.append(i.split(':')) def get_option(self, index): return self.parsed_data[index] class SomeClass: def __init__(self): self.parser = ConfigParser('./config.conf') self.parser.read() def get_data(self): # производит какие-то доп манипуляции и отдает данные return self.parser.get_option(1)
Заранее спасибо.