Исключение с помощью pytest - PullRequest
       6

Исключение с помощью pytest

0 голосов
/ 29 августа 2018

Я прочитал документацию по созданию исключений с помощью pytest, но не уверен, как определить исключение в моем коде. Это говорит о том, что OutOfRangeError не определен. Любая помощь приветствуется.

my_roman_module.py:

def to_roman(n):
    '''converts integers/arabic numerals to Roman numerals'''
    if not (0<n<4000):
        raise OutOfRangeError('number out of range (must be between 1-3999)')
result = ''
for numeral, integer in roman_numerals:
    while n >= integer: 
        result += numeral
        n -= integer
return result

test_my_roman_module.py:

import pytest

from my_roman_module import to_roman
def test_not_in_range():
    '''to_roman should fail with large input''' 
    with pytest.raises(OutOfRangeError):
        to_roman(4000)

1 Ответ

0 голосов
/ 29 августа 2018

pytest не создает исключение. Если вам нужно определить свое пользовательское исключение, то подкласс Exception, как

Class OutOfRangeError(Exception):
    pass

и затем вы создаете исключение OutOfRangeError, не забудьте также импортировать OutOfRangeError в test_my_roman_module.py.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...