я, чтобы проверить следующий класс:как проверить, нужно ли программа выходит или не
from random import randint
class End(object):
def __init__(self):
self.quips=['You dead', 'You broke everything you can','You turn you head off']
def play(self):
print self.quips[randint(0, len(self.quips)-1)]
exit(1)
Я хочу, чтобы проверить его с nosetests, чтобы я мог видеть, что класс выходит правильно с кодом 1. Я попытался Differents варианты но nosetest возвращается ошибка как
File "C:\Python27\lib\site.py", line 372, in __call__
raise SystemExit(code)
SystemExit: 1
----------------------------------------------------------------------
Ran 1 test in 5.297s
FAILED (errors=1)
Ofcourse Я могу предположить, что он выходит, но я хочу для теста, чтобы вернуть OK статус не ошибка. Извините, если мой вопрос может быть глупым. Im очень новый для python, и я пытаюсь проверить что-то в первый раз.
Я пробовал: Защиту test_End():. конец = End() играть() assert_raises (SystemExit (1), конец), но он не работает – user2569002
@ user2569002 использует 'assert_raises (SystemExit, end)', а не 'assert_raises (SystemExit (1), end)'. Он ожидает вызова. – roippi
Я бы рекомендовал менеджер контекста assertRaises - я думаю, что это приводит к более разборчивым тестам. – dbn