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 に答える