0

可能重复:
如何测试 Python 函数是否引发异常?

我必须进行白盒和黑盒测试,所以我想知道如何测试一个引发异常的函数,比如这个

class validator_client():

    def validate_client(self,client):
        erori=[]
        if client.get_identitate()=="":
            erori.append("Nu exista ID!")
        if client.get_nume()=="":
            erori.append("Nu exista nume!")
        if (client.get_filme_inchiriate()!="da" ) and (client.get_filme_inchiriate()!="nu") :
            erori.append("Campul 'Filme inchiriate' completat gresit!")
        if len(erori)>0:
            raise ValidatorException(erori)

我已经阅读了一些关于 assertRises() 的内容,但我无法使用这种方法导入模块,在 stackowerflow 上找到了这个:

from testcase import TestCase

import mymod

class MyTestCase(TestCase):
    def test1(self):
        self.assertRaisesWithMessage(SomeCoolException,
                                     'expected message',
                                      mymod.myfunc)

但我无法让它工作。

4

1 回答 1

2

这是一个工作示例,它是您将在 python 文档中找到的简化版本。它检查是否random.shuffle引发了TypeError异常。

import random, unittest

class TestSequenceFunctions(unittest.TestCase):
    def test_shuffle(self):
        self.assertRaises(TypeError, random.shuffle, (1,2,3))

unittest.main()
于 2012-12-01T09:37:58.030 回答