aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mobly/base_test.py1
-rwxr-xr-xtests/mobly/base_test_test.py22
2 files changed, 23 insertions, 0 deletions
diff --git a/mobly/base_test.py b/mobly/base_test.py
index 6f80ace..9bf4fcc 100644
--- a/mobly/base_test.py
+++ b/mobly/base_test.py
@@ -803,6 +803,7 @@ class BaseTestClass:
else:
# Check if anything failed by `expects`.
if before_count < expects.recorder.error_count:
+ tr_record.test_error()
teardown_test_failed = True
except (signals.TestFailure, AssertionError) as e:
tr_record.test_fail(e)
diff --git a/tests/mobly/base_test_test.py b/tests/mobly/base_test_test.py
index be67437..b166357 100755
--- a/tests/mobly/base_test_test.py
+++ b/tests/mobly/base_test_test.py
@@ -510,6 +510,28 @@ class BaseTestTest(unittest.TestCase):
"Requested 1, Skipped 0")
self.assertEqual(bt_cls.results.summary_str(), expected_summary)
+ def test_teardown_test_expects_error(self):
+
+ class MockBaseTest(base_test.BaseTestClass):
+
+ def teardown_test(self):
+ expects.expect_true(False, MSG_EXPECTED_EXCEPTION)
+
+ def test_something(self):
+ pass
+
+ bt_cls = MockBaseTest(self.mock_test_cls_configs)
+ bt_cls.run()
+ actual_record = bt_cls.results.error[0]
+ self.assertEqual(actual_record.test_name, self.mock_test_name)
+ self.assertEqual(actual_record.details, MSG_EXPECTED_EXCEPTION)
+ self.assertIsNone(actual_record.extras)
+ self.assertFalse(actual_record.extra_errors)
+ self.assertTrue(actual_record.end_time)
+ expected_summary = ("Error 1, Executed 1, Failed 0, Passed 0, "
+ "Requested 1, Skipped 0")
+ self.assertEqual(bt_cls.results.summary_str(), expected_summary)
+
def test_teardown_test_executed_if_test_pass(self):
my_mock = mock.MagicMock()