diff --git a/testtools/testcase.py b/testtools/testcase.py index 08b158b6..fefa3e7e 100644 --- a/testtools/testcase.py +++ b/testtools/testcase.py @@ -735,7 +735,17 @@ def _run_teardown(self, result): def _get_test_method(self): method_name = getattr(self, "_testMethodName") - return getattr(self, method_name) + try: + m = getattr(self, method_name) + except AttributeError: + if method_name != "runTest": + # We allow instantiation with no explicit method name + # but not an *incorrect* or missing method name. + raise ValueError( + "no such test method in %s: %s" % (self.__class__, method_name) + ) + else: + return m def _run_test_method(self, result): """Run the test method for this test.