Я пишу модульный тест в Python, и в основном у меня есть класс с атрибутами, и я хочу убедиться, что эти атрибуты содержатся в другом объекте. Например, у меня есть следующий класс:
class TestingConfig(Config):
DEBUG = False
TESTING = True
SECRET_KEY = ''
Что я хочу проверить, так это то, что эти свойства с их значениями содержатся в экземпляре объекта, что-то вроде:
t = list(dict(TestingConfig.__dict__).keys())[1:-1] # remove __module__ and __doc__
self.assertIn(t, list(dict(app.config).keys()))
где app.config
- это экземпляр с возможными атрибутами.
Конечно, это не работает, но просто хотел дать идею.
РЕДАКТИРОВАТЬ:
Я пробовал это, но это работает только для ключей, мне нужно убедиться, что значения также включены.
attrs = set(list(dict(TestingConfig.__dict__))[1:-1])
self.assertTrue(attrs.issubset(set(list(dict(app.config)))))
РЕДАКТИРОВАТЬ:
Я получил это ! Я надеюсь, что это поможет кому-то в будущем.
attrs = set(sorted(TestingConfig.__dict__.items())[:-2])
i = set(dict(app.config).items())
self.assertTrue(attrs.issubset(i))