Я пытаюсь улучшить то, как я пишу свои приложения unit test для своих программ Python. В некоторых случаях я замечаю, что было бы очень полезно иметь доступ к закрытым членам, чтобы гарантировать, что метод работает правильно. Например, при попытке проверить метод для правильного поведения, у которого нет ожидаемого возвращаемого значения, отличного от None. Я знаю, что простой и неправильный способ сделать это - просто превратить частные атрибуты в защищенные атрибуты и проверить их непосредственно. Тем не менее, я хотел бы найти способ, который не выставляет интерфейс как можно больше.
Итак, как мне проверить приватные атрибуты в классах, не подвергая их в интерфейсе или, если применимо, лучший способ тестирования такого сценария, чтобы доступ к частным атрибутам не обязательно был необходим для правильного модульного тестирования?