Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
JUnit
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Integration with other tools== JUnit 5 integrates a number of tools, such as [[build tool]]s, [[integrated development environment]]s (IDE), [[continuous integration]] (CI) tools and many more.{{sfn|Gulati|Sharma|2017|loc=Chapter §6 Integrating Tools|p=99}} ===Build Tools=== {{main article | Build tool }} JUnit supports [[Apache Ant]], [[Apache Maven]] and [[Gradle]] build tools, which are the most widely used project build tools.{{sfn|Gulati|Sharma|2017|loc=Chapter §6 Build Tools|pp=99-117}} Build tools are vital for automating the process of building the project. {{sfn|Gulati|Sharma|2017|loc=Chapter §6 Integrating Tools|p=99}} ====Ant Extension==== {{main article | Apache Ant }} Apache Ant, also known as Ant, is one of the build tools with the highest degree of versatility, and has the longest history out of the three build tools listed above.{{sfn|Gulati|Sharma|2017|loc=Chapter §6 Integrating Tools - Build Tools - Ant|pp=108-112}} Ant centers around the <code>build.xml</code> file, used for configuring the tasks necessary to run a project.{{sfn|Gulati|Sharma|2017|loc=Chapter §6 Integrating Tools - Build Tools - Ant|pp=108-112}} Ant also has an extension called [[Apache Ivy]], which helps deal with dependency resolution. The project dependencies can be declared in the <code>ivy.xml</code> file. Ant can integrate with JUnit 5 by configuring the [[Java code coverage tools]] (JaCoCo), for the <code>ivy.xml</code> file.{{sfn|Gulati|Sharma|2017|loc=Chapter §6 Integrating Tools - Build Tools - Ant|pp=108-112}} The <code>ivy.xml</code> can then be configured with the <code>java-platform-console</code> and <code>junit-platform-runner</code> dependencies to integrate with JUnit 5. {{sfn|Gulati|Sharma|2017|loc=Chapter §6 Integrating Tools - Build Tools - Ant Extension|pp=116-117}} ====Maven Extension==== {{main article | Apache Maven}} In contrast to Ant, Apache Maven, also known as Maven, uses a standardized and unified approach to the build process.{{sfn|Gulati|Sharma|2017|loc=Chapter §6 Integrating Tools - Build Tools - Maven|pp=104-108}} Maven follows the paradigm of "convention over configuration" for managing its dependencies.{{sfn|Gulati|Sharma|2017|loc=Chapter §6 Integrating Tools - Build Tools - Gradle|pp=99-103}} The Java source code (or "src") can be found under the <code>src/main/java</code> directory, and the test files can be found under the <code>src/test/java</code> directory.{{sfn|Gulati|Sharma|2017|loc=Chapter §6 Integrating Tools - Build Tools - Gradle|pp=99-103}} Maven can be used for any Java Project.{{sfn|Gulati|Sharma|2017|loc=Chapter §6 Integrating Tools - Build Tools - Maven|pp=104-108}} It uses the [[Project Object Model]] (POM), which is an XML-based approach to configuring the build steps for the project.{{sfn|Gulati|Sharma|2017|loc=Chapter §6 Integrating Tools - Build Tools - Maven|pp=104-108}} The minimal Maven with the <code>pom.xml</code> build file must contain a list of dependencies and a unique project identifier.{{sfn|Gulati|Sharma|2017|loc=Chapter §6 Integrating Tools - Build Tools - Maven|pp=104-108}} Maven must be available on the build path to work.{{sfn|Gulati|Sharma|2017|loc=Chapter §6 Integrating Tools - Build Tools - Maven|pp=104-108}} Maven can integrate with JUnit 5 using the <code>jacoco-maven-plugin</code> [[Plug-in (computing)|plugin]] which supports out-of-box functionality for JUnit 5 tests.{{sfn|Gulati|Sharma|2017|loc=Chapter §6 Integrating Tools - Build Tools - Maven Extension|p=115}} Different Maven goals can be specified to achieve these tasks.{{sfn|Gulati|Sharma|2017|loc=Chapter §6 Integrating Tools - Build Tools - Maven Extension|p=115}} ====Gradle Extension==== {{main article | Gradle}} Gradle is a build tool that borrows many concepts from its predecessors, Ant and Maven.{{sfn|Gulati|Sharma|2017|loc=Chapter §6 Integrating Tools - Build Tools - Gradle|pp=99-103}} It uses the {{code|build.gradle}} file to declare the steps required for the project build.{{sfn|Gulati|Sharma|2017|loc=Chapter §6 Integrating Tools - Build Tools - Gradle|pp=99-103}} Unlike Ant and Maven, which are XML-based, Gradle requires the use of [[Apache Groovy]], which is a Java-based programming language.{{sfn|Gulati|Sharma|2017|loc=Chapter §6 Integrating Tools - Build Tools - Gradle|pp=99-103}} Unlike Ant and Maven, Gradle does not require the use of XML.{{sfn|Gulati|Sharma|2017|loc=Chapter §6 Integrating Tools - Build Tools - Gradle|pp=99-103}} Gradle still adheres to Maven's "convention over configuration" approach, and follows the same structure for {{code|src/main/java}} and {{code|src/test/java}} directories.{{sfn|Gulati|Sharma|2017|loc=Chapter §6 Integrating Tools - Build Tools - Gradle|pp=99-103}} Gradle can integrate with JUnit 5 by configuring a plugin {{code|jacoco}} alongside the junit-platform plug-in given by the JUnit 5 team in the build file.{{sfn|Gulati|Sharma|2017|loc=Chapter §6 Integrating Tools - Build Tools - Gradle Extension|pp=113-114}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)