Должен ли я тестировать общедоступные интерфейсы только в BDD? (вообще и конкретно в Ruby)

Я читаю книгу (все еще бета) rspec от prag progs как Я заинтересован в поведенческом тестировании на объектах. Исходя из того, что я почерпнул до сих пор (предостережение: после прочтения только в течение 30 минут), основная идея заключается в том, что я хочу, чтобы мой объект вел себя так, как ожидалось, «внешне», то есть на выходе и по отношению к другим объектам.

правда ли тогда, что я должен просто быть черным ящиком, тестирующим мой объект, чтобы обеспечить надлежащий вывод / взаимодействие с другими объектами?

Это может быть совершенно неправильно, но, учитывая весь акцент на том, как мой объект ведет себя в системе, кажется, что это идеология, которую можно взять. Если это так, как мы можем сосредоточиться на реализации объекта? Как я могу проверить, что мой закрытый метод делает то, что я хочу, чтобы он делал для всех различных типов ввода?

Я полагаю, этот вопрос, возможно, действителен для всех типов тестирования ?? Я все еще довольно плохо знаком с TDD и BDD.

5
задан andyg0808 29 December 2013 в 02:58
поделиться