【发布时间】:2018-09-13 16:18:05
【问题描述】:
我开始学习 TDD 并将保龄球游戏 kata 作为练习。 我已经完成了一些常规分数测试,但我想添加更多内容只是为了练习,一个想法是如果我掷出负数则引发异常。
漏洞代码不相关,因为这是一个简单的验证
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 类中引发异常(有两个不同的文件)。
如果我用self.assertRaises(ValueError):(BowlingGameTest 类)做return ValueError(BowlingGame 类)我得到AssertionError: ValueError not raised
有什么想法吗?
【问题讨论】:
标签: python unit-testing tdd