2014-08-31 4 views
0

Обучение Java EE в универ, и они не загружают лекции, так что я застрял обучение из учебника (делать расстояние ред.)Точка тест Maven каталога

Я изо все силы, чтобы понять точку Maven Test. Я понимаю, что вы должны иметь те же файлы, что и в вашем основном каталоге (тестовый класс, файл persistence.xml и т. Д.). Но я не могу найти никакой информации о точке каталога. Связано ли это с кодом в каталоге/src/main /? Или это происходит отдельно? Постоянно ли он сохраняется в базе данных дерби или просто предназначен для проверки выполнения кода?

Это не относится к назначению uni. У меня просто проблемы с пониманием.

Спасибо!

ответ

2

Код в каталоге /src/test/ может взаимодействовать с кодом в /src/main/ (Однако код в /src/main/ не может получить доступ код в /src/test/). Цель каталога /src/test/ состоит в том, чтобы содержать код, относящийся к Unit Testing. Maven выполняет любые модульные тесты в этом каталоге автоматически. Он не включен в фактическую банку.

+1

«и наоборот» => нет, код в src/test может видеть src/main, но код в src/main не может использовать/видеть/компилировать код в SRC/тест. – michael

+0

@Michael_n Вы правы, это была ошибка с моей стороны. Ред. – Pokechu22

3

Весь код в проекте развития среднего и крупного размера должен быть организован таким образом, чтобы вы могли использовать существующие инструменты, которые «просто работают», без большой ручной настройки - такие инструменты, как maven, gradle , netbeans (и все их плагины). Это справедливо и для небольших проектов, если вы уже знакомы с процессом &, уже использующим инструменты (почти все небольшие проекты в конечном итоге становятся проектами среднего размера, и все проекты среднего размера становятся ...) Это называется " соглашение по конфигурации ". Это экономит время в долгосрочной перспективе, но требует больше времени для настройки вашего проекта (и может показаться бесполезным вначале).

Для maven (и gradle) мы помещаем код в src/main для приложения и тесты в src/test. Зависимости важны для понимания: могут быть только односторонние зависимости между модулем A и модулем B, а также для тестов кода &. Таким образом, src/main делает не использовать или использовать код src/test или использовать его. Но, конечно, src/test использует (и проверяет) код в src/main. Аналогично для подмодулей (если ваш проект использует их): если код в {module_b}/src/main может видеть {module_a}/src/main, то обратное не может быть правдой. Но тестовый код отличается: {module_b}/src/test обычно не видит или не использует код в {module_a}/src/test (не без усилий): так, поместите все повторно используемые коды - даже тестовый код - в своем собственном модуле (например, {module_test_a}/src/main и явно объявлять зависимости).

Затем, при правильно организованном проекте, вы можете запускать автоматические модульные тесты, определять тестовые комплекты для тестов интеграции, создавать «упаковку» «логика для сборки вашего приложения и т. д. и т. д. Также, когда кто-то, новый для вашего проекта, начинает смотреть на код, они будут знать, куда идти, чтобы начать смотреть на тесты против« реального »кода. (И, вероятно, использование тесты в качестве примера того, как на самом деле использовать код.)

Смежные вопросы