При написании модульных тестов я иногда вырезаю и вставляю тест и не помню, чтобы изменить имя метода. Это приводит к перезаписыванию предыдущего теста, который эффективно скрывает его и препятствует его запуску. Например:
class WidgetTestCase(unittest.TestCase):
def test_foo_should_do_some_behavior(self):
self.assertEquals(42, self.widget.foo())
def test_foo_should_do_some_behavior(self):
self.widget.bar()
self.assertEquals(314, self.widget.foo())
В этом случае будет вызван только последний тест. Есть ли способ программно поймать такую ошибку, если не разобрать исходный исходный код напрямую?