Должен ли я включать тесты Junit в производственную банку

Не мог найти этот вопрос, так что, наверное, я здесь что-то пропустил.

Я добавил модульные тесты в свой проект (написанный через Intellij). Я добавил некоторые ресурсы - файлы, которые довольно большие (1,5 мб), которые являются ожидаемым результатом моих тестов. Мне кажется разумным добавить их в банку, которую я отправляю клиенту. Разве нет способа исключить все, что связано с Junit, из банки, которую я создал?

3 ответа

Нет, не стоит. Одна из причин заключается в том, что у вас есть куча библиотек, которые вы используете только для тестирования, например Mockito, jUnit. Вы не хотите тех, кто находится в вашем производственном классе. И, конечно, размер может иметь значение, как вы говорите, 1,5 МБ для некоторых тестовых ресурсов.

Но вы все равно можете отправить свой тестовый код. Мы объединяем эти модульные тесты и тестовые ресурсы в тестовую банку. Поэтому в итоге мы создаем три файла jar, которые могут быть отправлены клиенту

  1. library.jar
  2. библиотека-src.jar
  3. библиотека-test.jar

Существует несколько способов сделать это, например


В: Должен ли я исключать тесты JUnit из.jar?

A: Да, наверное.

В: Должен ли я исключать результаты теста multi-MB из.jar?

A: Да - определенно!

В: Как мне это сделать?

A: Один хороший подход - использовать "ant", написать build.xml с задачей "jar" и добавить предложения "исключить" для файлов, которые вы НЕ хотите в.jar.

Вот несколько ссылок:


Если вы используете maven для создания своего проекта, вы можете добавить плагин maven-jar. Он генерирует тестовую банку, которая будет содержать ваши тестовые классы. Важно, чтобы все тестовые классы были помещены в каталог src/test/java.

Таким образом, вы можете отделить свой юнит от других классов.

licensed under cc by-sa 3.0 with attribution.