Если котортко то плохо=) точнее не было в этом смысла.
В общем начал думать и пришел к таким мыслям.
1) метод имеет сайд эффект, в моем случае добавление объетка(json) в редис.
2) для этого мне нужно тестить именно этот эффект, псевдокод
data = {}
def set(key, val):
data[key] = val
def get(key):
return data[key]
mock_redis_set.side_effect = set
mock_redis_get.side_effect = get
в итоге нужный кусок покрыт.
И тут начал думать про мокание конкретно редиса вопрос а нужно ли.
Наткнулся на такую книгу clean architectures in python by Leonardo Giordani. Он подходит к написанию софта со стороны TDD и тут он говорит что это бесмысленно, так как сторонние инструменты ввиде редиса или Postgre выдают огромное количество исключений, который не получится воспроизвести и как бы тест не имеет особого смысла.
Так же в
этом докладе про это говорится.