Python 3.x 如何对失败的测试进行单元测试?

Python 3.x 如何对失败的测试进行单元测试?,python-3.x,unit-testing,tdd,nose,Python 3.x,Unit Testing,Tdd,Nose,我正试着自己开始做鼻测试和TDD。据我所知,单元测试的目的是尽可能多地测试函数的功能。因此,我想做的是向函数中添加无效参数,并验证这无法完成。例如,我正在编写一个简单的add函数 def addBowling(x, y): try: return x + y except TypeError: print('Exception occured: invalid types') 所以对于这个函数,我希望像'a'这样的输入引发一个异常。在我的鼻子测试

我正试着自己开始做鼻测试和TDD。据我所知,单元测试的目的是尽可能多地测试函数的功能。因此,我想做的是向函数中添加无效参数,并验证这无法完成。例如,我正在编写一个简单的add函数

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
我希望有两个断言将通过,一个断言将失败。当我运行这个测试时,它告诉我有一个测试失败了。我不确定我的理解是否正确,但我想让这个测试说它通过了,因为这是我函数的正确功能


有关于如何获得我想要的结果的指导吗

多亏了一位有帮助的评论者,我才知道我要找的是加薪。我重构了我的函数,所以现在它所做的就是在我的测试中添加和使用断言提升,就像这样

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导入

多亏了一位有帮助的评论者,我才知道我要找的是加薪。我重构了我的函数,所以现在它所做的就是在我的测试中添加和使用断言提升,就像这样

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导入

这不是测试异常的正确方法,您必须断言并测试它。@Shivaraj谢谢!这正是我想要的。太好了。快乐编码..这不是测试异常的正确方法,你必须断言并测试它。@Shivaraj谢谢!这正是我想要的。太好了。快乐编码。。