Я читал here, что тестирование черного ящика (тестирование только API без деталей реализации) предпочтительнее в большинстве ситуаций. Однако, если я пишу только тесты с «черным ящиком», где мне не нужна фактическая реализация, откуда я знаю, как обрабатывать любые зависимости метода для тестирования? Представьте, что мы делаем запрос базы данных в нашем методе для тестирования. Обычно я подделывал бы этот вызов таким образом, который всегда возвращает некоторые поддельные данные, чтобы проверить, соответствует ли мой собственный метод этим данным. В рамках моего теста я не забочусь о том, откуда на самом деле поступают данные, поэтому я подделываю его.Blackbox-тесты против whitebox
На черном ящике я не знаю, что подделать и как это сделать, тогда как на белой коробке я знаю внутренности и поэтому призывает к подделке.
Так что мой вопрос: есть ли обработка зависимостей, относящаяся к черным ящикам вообще?
Чувства, подобные большому аргументу эндианта. Это ваш класс; это ваш тест. Внесите издевательства и продолжайте с ним. – duffymo
@duffymo Чтобы это сделать, я должен знать, ЧТО издеваться над ними и из-за внутренних. – HimBromBeere
Да, но это ваш класс. Вы знаете, что такое зависимости. Вы говорите об устройстве, проверяющем ваши вещи, не так ли? Если это классы, написанные другими, у вас есть исходный код. Не так ли? Или вы закрываете глаза, когда кодируете? Обязательно закрывайте глаза и притворяйтесь, что у вас нет исходного кода. Напишите свои модульные тесты, обратившись только к javadocs. Как это может работать? – duffymo