diff --git a/Lib/test/string_tests.py b/Lib/test/string_tests.py
index 7818112..6d87eb6 100644
--- a/Lib/test/string_tests.py
+++ b/Lib/test/string_tests.py
@@ -70,7 +70,7 @@
         args = self.fixtype(args)
         with self.assertRaises(exc) as cm:
             getattr(obj, methodname)(*args)
-        self.assertNotEqual(cm.exception.message, '')
+        self.assertNotEqual(cm.exception.args[0], '')
 
     # call object.method(*args) without any checks
     def checkcall(self, object, methodname, *args):
diff --git a/Lib/test/test_string.py b/Lib/test/test_string.py
index f69255b..e786ab6 100644
--- a/Lib/test/test_string.py
+++ b/Lib/test/test_string.py
@@ -19,7 +19,7 @@
     def checkraises(self, exc, obj, methodname, *args):
         with self.assertRaises(exc) as cm:
             getattr(string, methodname)(obj, *args)
-        self.assertNotEqual(cm.exception.message, '')
+        self.assertNotEqual(cm.exception.args[0], '')
 
     def checkcall(self, object, methodname, *args):
         getattr(string, methodname)(object, *args)
diff --git a/Lib/test/test_userstring.py b/Lib/test/test_userstring.py
index 9cca14a..c18ae54 100644
--- a/Lib/test/test_userstring.py
+++ b/Lib/test/test_userstring.py
@@ -33,7 +33,7 @@
         # we don't fix the arguments, because UserString can't cope with it
         with self.assertRaises(exc) as cm:
             getattr(obj, methodname)(*args)
-        self.assertNotEqual(cm.exception.message, '')
+        self.assertNotEqual(cm.exception.args[0], '')
 
     def checkcall(self, object, methodname, *args):
         object = self.fixtype(object)
