Как я могу динамически генерировать набор подклассов TestCase из другого модуля? - PullRequest
1 голос
/ 04 сентября 2011

У меня есть один модуль Python, который определяет набор базовых классов, которые затем реализует другой модуль Python.

В базовом модуле python также есть тестовые случаи, которые проверяют, правильно ли реализованы базовые классы.

В тестовом наборе второго модуля я хотел бы автоматически генерировать подклассы TestCase из первого модуля и добавлять миксин, который выполняет необходимый setUp () для конкретной реализации.

Я вижу много ответов для параметризации тестовых случаев, но в моем случае я просто хочу повторно использовать общие классы и подклассировать их все.

Это нормально, если для создания экземпляра их кода требуется некоторый код в родительском тестовом модуле, если он называет тесты по-разному и выполняет их все автоматически.

Если это имеет значение, этот код использует витую и пробную версию стандартного юнит-теста.

1 Ответ

3 голосов
/ 04 сентября 2011

То, что может сделать почти то же, что вы хотите, это twisted.internet.test.reactormixins.ReactorBuilder. Вы можете увидеть, как он используется в test_tcp, например.

...