我开始学习TDD和保龄球游戏卡塔作为练习。 我已经完成了一些常规的分数测试,但我想增加更多的只是为了练习,一个想法是如果我投负数会引发一个例外。在
孔代码不相关,因为这是一个简单的验证
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
有什么想法吗?在
你需要
raise
ValueError
,而不是return
,也就是说返回异常实际上返回类对象,但是如果您引发异常,它将抛出您想要的错误。在
听起来你正确地使用了
^{pr2}$self.assertRaises
只是以防万一,它应该是这样的:像这样。。在
相关问题 更多 >
编程相关推荐