如何对失败的测试进行单元测试?

问题描述 投票:0回答:1

我正尝试着自己开始进行鼻子测试和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个测试失败。我不确定我的理解是否正确,但是我想让此测试通过,因为这对我的功能来说是正确的功能。

有关如何获得所需结果的任何指导?

python-3.x unit-testing tdd nose
1个回答
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)

不要忘记从nose.tools assert_raises导入!

© www.soinside.com 2019 - 2024. All rights reserved.