我正尝试着自己开始进行鼻子测试和TDD。据我了解,单元测试的目的是测试功能的尽可能多的功能。因此,我想做的就是在函数中添加无效的参数,并确认不能这样做。例如,我正在编写一个简单的添加函数
def addBowling(x, y):
try:
return x + y
except TypeError:
print('Exception occured: invalid types')
因此,对于此功能,我希望输入“ a”引发异常。在鼻子测试中,我想像这样输入“ a”。
def testAddNumbers():
assert addBowling(3, 4) == 7
assert addBowling(5, 0) == 5
assert addBowling('a', 0) == TypeError
我想有两个将通过的断言和一个将失败的断言。当我运行此测试时,它告诉我1个测试失败。我不确定我的理解是否正确,但是我想让此测试通过,因为这对我的功能来说是正确的功能。
有关如何获得所需结果的任何指导?
答案 0 :(得分:0)
多亏了一位有帮助的评论员,我才知道断言加薪是我一直在寻找的东西。我重构了函数,所以现在所做的就是在测试中添加并使用assert引发,就像这样。
def addBowling(x, y):
return x + y
def testAddNumbers():
assert addBowling(3, 4) == 7
assert addBowling(5, 0) == 5
assert_raises(TypeError, addBowling, 'a', 2)
别忘了从鼻子导入工具。assert_raises!