python unittest assertRaises löst eine Ausnahme aus, wenn assertRaises fehlschlägt
Ich habe Code, in dem assertRaises eine Ausnahme auslöst, wenn assertRaises fehlschlägt. Ich dachte, wenn assertRaises fehlschlägt, würde der Test fehlschlagen und ich würde am Ende einen Bericht erhalten, der besagt, dass der Test fehlgeschlagen ist. Ich hatte nicht damit gerechnet, dass die Ausnahme geworfen wird. Unten ist mein Code. Ich mache etwas falsch? Ich benutze Python 2.6.2.
import unittest
class myClass:
def getName(self):
raise myExcOne, "my exception one"
#raise myExcTwo, "my exception two"
#return "a"
class myExcOne(Exception):
"exception one"
class myExcTwo(Exception):
"exception two"
class test_myClass(unittest.TestCase):
def setUp(self):
self.myClass = myClass()
def testgetNameEmpty(self):
#self.assertRaises(myExcOne,self.myClass.getName)
#self.assertRaises(myExcTwo,self.myClass.getName)
try:
self.assertRaises(myExcTwo,self.myClass.getName)
except Exception as e:
pass
if __name__ == "__main__":
#unittest.main()
suite = unittest.TestLoader().loadTestsFromTestCase(test_myClass)
unittest.TextTestRunner(verbosity=2).run(suite)