Я работаю над тем, чтобы научиться правильно тестировать юнит. С учетом этой функции ...
def get_user_details(req_user_id):
users = sa.Table('users', db.metadata, autoload=True)
s = sa.select([users.c.username,
users.c.favorite_color,
users.c.favorite_book
]).select_from(users)
s = s.where(users.c.user_id == req_user_id)
result = db.connection.execute(s).fetchone()
return dict(result)
... как правильно ее тестировать?
Вот где я сейчас ...
- Из того, что я прочитал, тестирование "конструкции" запроса не является необходимым, поскольку оно является частью уже хорошо протестированной библиотеки SQLAlchemy. Так что мне не нужно тестировать сгенерированный SQL, верно? Но я должен проверить переданные параметры, и если да, то как?
- Я читал о насмешливом ответе, который приходит от
db.connection.execute
, но как это действительно проверяет что-нибудь? В конечном счете, я хочу убедиться, что функция генерирует правильный SQL и получает правильный результат базы данных?
Любой совет / руководство очень ценится. Спасибо!