Я начал изучать TDD и получил ката Bowling Game в качестве упражнения.Я закончил некоторые обычные тесты, но я хочу добавить больше, чтобы попрактиковаться, и одна идея состояла в том, чтобы вызвать исключение, если я выброшу отрицательное число.
Код дыры не имеет значения, потому что этопростая проверка
class BowlingGame(object):
def __init__(self):
pass
def roll(self, pins):
if pins < 0:
#Want to Return Value Exception
class BowlingGameTest(unittest.TestCase):
def setUp(self):
self._game = BowlingGame()
def test_roll_negative(self):
self.game.roll(-1)
#Want to catch exception here with self.assert or except
Проблема заключается в том, что если я верну, например, 0/0, то исключение возникает в классе BowlingGame, а не в классе BowlingGameTest (есть в двух разных файлах).
Если я сделаю return ValueError
(класс BowlingGame) с self.assertRaises(ValueError):
(класс BowlingGameTest), я получу AssertionError: ValueError not raised
Есть идеи?