Можно ли разместить тестовые двойные реализации в основном коде Java?

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

Есть код, который помогает мне в модульном тестировании (тестирование дубликатов) в библиотеке, которую я реализовал. Можно ли сохранить этот код в банке, чтобы он мог использоваться кодом, который использует библиотеку в качестве зависимости.

1 ответ

Решение

Краткий ответ: нет.

Поскольку вы имеете в виду Java, я могу указать на уровни зависимостей Maven и конфигурации Gradle. Они разделяют зависимости между вашим основным кодом и таковыми исключительно для целей тестирования. И они существуют по причине. Вы можете использовать готовые библиотеки для тестирования, но вы не должны развертывать дубликаты тестов в своей производственной системе.

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

Если вы разработали повторно используемые тестовые компоненты, вы сделали что-то полезное. Но вы должны изолировать их в отдельных библиотеках. Они являются частью специальной тестовой среды. Относитесь к ним так же, как к Юниту.

Другие вопросы по тегам