unittest.assertRaisesRegexp mit '^' am Anfang eines String
Verfasst: Mittwoch 18. November 2015, 10:22
Hallo zusammen,
mit unittest habe ich eine seltsame Erscheinung bei assertRaisesRegexp(), wenn der Soll-String am Anfang ein '^' oder am Ende ein '$' oder beides enthält. Kleines Beispielprogramm:
So, wie das hier gezeigt ist, ist das Testergebnis OK. Ändere ich den Wert von ERRTXT in u'^Error!' oder u'Error!$' oder u'^Error!$', dann liefert unittest z. B. die Meldung
Ersetze ich KeyError durch IndexError, gibt es in allen vier Fällen ein OK. Könnt ihr mir helfen? Was mache ich da falsch?
Besten Dank im Voraus
Humbalan
mit unittest habe ich eine seltsame Erscheinung bei assertRaisesRegexp(), wenn der Soll-String am Anfang ein '^' oder am Ende ein '$' oder beides enthält. Kleines Beispielprogramm:
Code: Alles auswählen
import unittest
def myfunc( param ) :
try :
int( param )
except ValueError :
raise KeyError, 'Error!'
class myTest( unittest.TestCase ) :
def test_myfunc( self ) :
ERRTXT = u'Error!'
self.assertRaisesRegexp( KeyError, ERRTXT, myfunc, 'a' )
testsuite = unittest.TestSuite( [ unittest.TestLoader().loadTestsFromTestCase( myTest ) ] )
unittest.TextTestRunner().run( testsuite )
Code: Alles auswählen
AssertionError: "^Error!$" does not match "'Error!'"
Besten Dank im Voraus
Humbalan