2013-12-05 2 views
0

У меня есть UIViewController, и я пытаюсь его протестировать. У меня есть некоторые частные переменные и методы. Я бы хотел, чтобы они оставались частными. Вопрос в том, должен ли я проверить собственный интерфейс? Имеет ли значение, как это делается внутри страны, до тех пор, пока оно делает то, что предполагается с «внешней» точки зрения?Objective-C unit testing частный интерфейс UIViewController

Могут ли тесты быть понятными/поддерживать/модифицировать, если я начну тестировать частный интерфейс? Будет ли это существенным ограничивающим фактором, когда дело доходит до облегчения изменения внутренней реализации. Частные методы/свойства не упоминаются в заголовочном файле, поэтому, если кто-то еще приходит, человеку придется пик в частный интерфейс.

Также следует проверить взаимодействие между UIViewController & UIView?

ответ

3

Не проверяйте частную реализацию, потому что это связывает вашу реализацию. Это приводит к хрупким испытаниям.

Возможно, вам необходимо проверить что-то внутреннее. Это хороший признак того, что его нужно обнародовать каким-то образом. Это может означать, что внутри есть другой класс, пытающийся выбраться. Вы можете извлечь его и протестировать, а затем доверять тому, что он работает.