jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/331160 )
Change subject: Replace assertRaises with assertRaisesRegex in bot_tests.py ......................................................................
Replace assertRaises with assertRaisesRegex in bot_tests.py
assertRaises is not as good of a test as assertRaisesRegex. The latter has an extra parameter to match the exception message, allowing more more precision when checking an error.
Bug: T154281 Change-Id: I5c96d8df488c37494094de2d20c76082d5933b6b --- M tests/bot_tests.py 1 file changed, 7 insertions(+), 5 deletions(-)
Approvals: John Vandenberg: Looks good to me, approved jenkins-bot: Verified
diff --git a/tests/bot_tests.py b/tests/bot_tests.py index a0eb9a7..ad7d3bb 100644 --- a/tests/bot_tests.py +++ b/tests/bot_tests.py @@ -171,7 +171,7 @@ self.assertIs(exc, exception) else: self.assertIsNone(exc) - self.assertRaises(StopIteration, next, self._page_iter) + self.assertRaisesRegex(StopIteration, '^$', next, self._page_iter) return exit
@@ -179,6 +179,8 @@
"""Tests for the BaseBot subclasses."""
+ CANT_SET_ATTRIBUTE_RE = 'can't set attribute' + NOT_IN_TREAT_RE = 'Requesting the site not while in treat is not allowed.' dry = True
sites = { @@ -226,9 +228,9 @@ # Assert no specific site self._treat_site = False self.bot = pywikibot.bot.MultipleSitesBot(generator=self._generator()) - with self.assertRaises(AttributeError): + with self.assertRaisesRegex(AttributeError, self.CANT_SET_ATTRIBUTE_RE): self.bot.site = self.de - with self.assertRaises(ValueError): + with self.assertRaisesRegex(ValueError, self.NOT_IN_TREAT_RE): self.bot.site if PY2: # The exc_info still contains the AttributeError :/ @@ -236,7 +238,7 @@ self.bot.treat = self._treat(self._generator()) self.bot.exit = self._exit(4) self.bot.run() - with self.assertRaises(ValueError): + with self.assertRaisesRegex(ValueError, self.NOT_IN_TREAT_RE): self.bot.site if PY2: # The exc_info still contains the AttributeError :/ @@ -275,7 +277,7 @@ pywikibot.Page(self.de, 'Page 3')], post_treat) self.bot.exit = self._exit(2, exception=ValueError) - self.assertRaises(ValueError, self.bot.run) + self.assertRaisesRegex(ValueError, 'Whatever', self.bot.run)
def test_Bot_KeyboardInterrupt(self): """Test normal Bot class with a KeyboardInterrupt in treat."""
pywikibot-commits@lists.wikimedia.org