Я делаю обертку для API.Я хотел, чтобы функция возвращала пользовательское сообщение об исключении при неверном вводе.
def scrap(date, x, y):
response = requests.post(api_url, json={'date': date, 'x': x, 'y': y})
if response.status_code == 200:
output = loads(response.content.decode('utf-8'))
return output
else:
raise Exception('Invalid input')
Это тест для него:
from scrap import scrap
def test_scrap():
with pytest.raises(Exception) as e:
assert scrap(date='test', x=0, y=0)
assert str(e.value) == 'Invalid input'
Но тесты покрытия почему-то пропускают последнюю строку,Кто-нибудь знает почему?Я попытался изменить код на with pytest.raises(Exception, match = 'Invalid input') as e
, но я получаю сообщение об ошибке:
AssertionError: Pattern 'Invalid input' not found in "date data 'test' does not match format '%Y-%m-%d %H:%M:%S'"
Означает ли это, что он на самом деле ссылается на сообщение об исключении из API вместо моей оболочки?