我正在尝试使用pytest
. 该应用程序使用 Redis 来存储变量。使用该变量,应用程序可以确定某些操作。
这是我要测试的几个代码app.py
redis_config = {
"host": "127.0.0.1",
"port": 6379,
"db": 0,
"charset": "utf-8",
"decode_responses":True
}
save_redis = redis.Redis(**redis_config)
if save_redis.get("token") is None:
//do something
else :
//do another thing
IF
问题是测试完全运行,没有错误,但是or函数下的其余部分else
不包括测试
我试过在我的test_app.py
save_redis = {}
def set(key, val):
save_redis[key] = val
def get(key):
return save_redis[key]
def delete(key):
return save_redis.pop(key, None)
@mock.patch('redis.StrictRedis.get', side_effect=get)
@mock.patch('redis.StrictRedis.set', side_effect=set)
@mock.patch('redis.StrictRedis.delete', side_effect=delete)
@mock.patch('requests.post', side_effect=mocked_requests_get)
def test_check_token(self, get_mock, mock_redis_get, mock_redis_set, client):
//do testing code