Переглядаючи документацію http://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html , <scope>
тег можна побачити під<dependency>
Що це таке, і як ми можемо використовувати його для запуску тесту?
Переглядаючи документацію http://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html , <scope>
тег можна побачити під<dependency>
Що це таке, і як ми можемо використовувати його для запуску тесту?
Відповіді:
<scope>
Елемент може приймати 6 значень: при компіляції , при умови , у час виконання , тестування , система і імпорту .
Ця область використовується для обмеження транзитивності залежності, а також для впливу на класовий шлях, який використовується для різних завдань побудови.
складати
Це область за замовчуванням, яка використовується, якщо не вказана жодна. Залежності компіляції доступні на всіх класах проекту. Крім того, ці залежності поширюються на залежні проекти.
за умови
Це дуже схоже на компіляцію, але вказує на те, що ви очікуєте, що JDK або контейнер забезпечать залежність під час виконання. Наприклад, створюючи веб-додаток для Java Enterprise Edition, ви б встановили залежність від API сервлетів та відповідних API API EE Java в тому обсязі, який надається, оскільки веб-контейнер забезпечує ці класи. Ця область доступна лише для компіляції та тестування, і не є перехідною.
час виконання
Ця область вказує на те, що залежність не потрібна для компіляції, а є для виконання. Це у клас виконання та тестових класів, але не компіляція.
тест
Ця область вказує на те, що залежність не потрібна для звичайного використання програми та доступна лише для етапів складання та виконання тестів.
система
Цей обсяг схожий із передбаченим, за винятком того, що ви повинні надати JAR, який містить його явно. Артефакт завжди доступний і не шукається у сховищі.
імпорт (доступний лише в Maven 2.0.9 або новіших версіях)
Ця область використовується лише залежно від типу пом у розділі. Це вказує, що вказаний POM повинен бути замінений залежностями в цьому розділі POM. Оскільки вони замінені, залежності зі сферою імпорту фактично не беруть участь у обмеженні транзитивності залежності.
Щоб відповісти на другу частину вашого питання:
Як ми можемо використовувати його для запуску тесту?
Зауважимо, що test
область дозволяє використовувати залежності лише для фази тестування.
Прочитайте документацію для отримання повної інформації.
Шість областей залежності:
src/main
таsrc/test
src/test
<dependencyManagement/>
, доступні лише в Maven 2.0.9 або новіших версіяхТег діапазону завжди використовується для обмеження перехідних залежностей та доступності jar на рівні шляху до класу. Якщо ми не надаємо будь-якої області, тоді область за замовчуванням буде працювати, тобто компілювати .
Якщо ми не надаємо жодної сфери, тоді область за замовчуванням компілюється. Якщо ви хочете підтвердити, просто перейдіть на вкладку «Ефективна пом» у редакторі затемнення, вона покаже вам як компіляцію.