Я новичок в Python, но раньше работал с ruby.
Я пытаюсь провести некоторые тесты с Python, но не могу понять, как я смоделирую класс для своего теста.
Допустим, у меня есть настоящий класс:
from database import DB
class Foo:
def do_it(self):
x = {'key': 'value'}
DB.save(x)
# do other stuff with x
return x
Теперь я хочу проверить, возвращает ли все, что я делаю с x, правильный результат, и я хочу проверить, был ли вызван DB.save с параметром x, но я не хочу на самом деле сохранять x база данных. Чтобы увидеть, вызывается ли DB.save, я могу использовать некоторую фиктивную среду, но как я могу сказать классу Foo, что он мне нужен для использования фиктивного объекта, а не реального объекта БД?
Спасибо.
EDIT:
Извините, моего примера недостаточно для того, что мне нужно сделать.
Давайте посмотрим на этот новый пример:
from database import DB
class Foo:
DB.connect()
def do_it(self):
x = {'key': 'value'}
DB.save(x)
# do other stuff with x
return x
Например, предположим, что база данных не работает.
Когда я импортирую Foo, это вызывает ошибку соединения, и у меня нет времени, чтобы имитировать БД.
Что мне делать ??