Как в Python написать модульные тесты, которые могут обращаться к частным атрибутам, не раскрывая их?

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

Итак, как мне протестировать частные атрибуты внутри классов, не раскрывая их в интерфейсе, или, если применимо, как лучше проверить такой сценарий, чтобы доступ к частным атрибутам не обязательно был необходим для надлежащего модульного тестирования?

14
задан grg-n-sox 8 November 2011 в 15:27
поделиться