Bird
Raised Fist0
JUnittesting~10 mins

Maven dependency setup in JUnit - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to add the JUnit 5 dependency groupId in the Maven POM file.

JUnit
<dependency>
  <groupId>[1]</groupId>
  <artifactId>junit-jupiter</artifactId>
  <version>5.9.3</version>
  <scope>test</scope>
</dependency>
Drag options to blanks, or click blank then click option'
Aorg.junit
Bjunit
Corg.junit.jupiter
Dorg.junit.jupiter.api
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'org.junit.jupiter.api' which is a package name, not a groupId.
Using 'junit' which is for JUnit 4, not JUnit 5.
2fill in blank
medium

Complete the code to specify the artifactId for JUnit 5 Jupiter engine in the Maven POM file.

JUnit
<dependency>
  <groupId>org.junit.jupiter</groupId>
  <artifactId>[1]</artifactId>
  <version>5.9.3</version>
  <scope>test</scope>
</dependency>
Drag options to blanks, or click blank then click option'
Ajunit-vintage-engine
Bjunit-jupiter-engine
Cjunit-platform-engine
Djunit-jupiter
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'junit-jupiter-engine' which only includes the engine, not the API.
Using 'junit-vintage-engine' which is for running JUnit 4 tests.
3fill in blank
hard

Fix the error in the version tag to use the latest stable JUnit 5 version.

JUnit
<dependency>
  <groupId>org.junit.jupiter</groupId>
  <artifactId>junit-jupiter</artifactId>
  <version>[1]</version>
  <scope>test</scope>
</dependency>
Drag options to blanks, or click blank then click option'
A5.9.3
B5.7.0
C4.13.2
D6.0.0
Attempts:
3 left
💡 Hint
Common Mistakes
Using JUnit 4 version numbers like 4.13.2.
Using a non-existent future version like 6.0.0.
4fill in blank
hard

Fill both blanks to add the Maven scope and the correct tag to include JUnit 5 dependency.

JUnit
<dependency>
  <groupId>org.junit</groupId>
  <artifactId>junit-jupiter</artifactId>
  <version>5.9.3</version>
  <[1]>[2]</[1]>
</dependency>
Drag options to blanks, or click blank then click option'
Ascope
Btest
Cversion
Dcompile
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'compile' scope which includes the dependency in production builds unnecessarily.
Using 'version' as a tag name instead of 'scope'.
5fill in blank
hard

Fill all three blanks to complete a Maven POM snippet that adds JUnit 5 dependency with groupId, artifactId, and version.

JUnit
<dependency>
  <groupId>[1]</groupId>
  <artifactId>[2]</artifactId>
  <version>[3]</version>
  <scope>test</scope>
</dependency>
Drag options to blanks, or click blank then click option'
Aorg.junit
Bjunit-jupiter
C5.9.3
Dorg.junit.jupiter
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing groupId and artifactId values.
Using outdated version numbers.

Practice

(1/5)
1. What is the main purpose of adding a JUnit dependency in the pom.xml file of a Maven project?
easy
A. To include JUnit libraries automatically for running tests
B. To compile the main application code
C. To deploy the application to a server
D. To create a new Maven project

Solution

  1. Step 1: Understand Maven dependency role

    Maven dependencies add external libraries to the project automatically.
  2. Step 2: Identify JUnit dependency purpose

    JUnit dependency specifically adds testing libraries to run unit tests.
  3. Final Answer:

    To include JUnit libraries automatically for running tests -> Option A
  4. Quick Check:

    Maven dependency = add libraries [OK]
Hint: JUnit dependency adds test libraries automatically [OK]
Common Mistakes:
  • Confusing dependency with deployment
  • Thinking dependency compiles main code
  • Assuming dependency creates projects
2. Which of the following is the correct way to add JUnit 5 dependency in pom.xml with scope set to test?
easy
A. \n org.junit.jupiter\n junit-jupiter\n 5.9.2\n
B. \n org.junit.jupiter\n junit-jupiter\n 5.9.2\n test\n
C. \n org.junit.jupiter\n junit-jupiter\n compile\n 5.9.2\n
D. \n org.junit.jupiter\n junit-jupiter-api\n 5.9.2\n test\n

Solution

  1. Step 1: Check groupId and artifactId for JUnit 5

    The standard JUnit 5 dependency uses org.junit.jupiter and junit-jupiter.
  2. Step 2: Verify scope is set to test

    Scope must be test to limit usage to testing phase.
  3. Final Answer:

    Correct dependency with groupId, artifactId, version, and test scope -> Option B
  4. Quick Check:

    JUnit 5 dependency + test scope = \n org.junit.jupiter\n junit-jupiter\n 5.9.2\n test\n [OK]
Hint: Always set test for test dependencies [OK]
Common Mistakes:
  • Omitting the test tag
  • Using wrong artifactId like junit-jupiter-api
  • Setting scope to compile instead of test
3. Given this pom.xml snippet, what will happen when you run mvn test?
<dependency>
  <groupId>org.junit.jupiter</groupId>
  <artifactId>junit-jupiter</artifactId>
  <version>5.9.2</version>
  <scope>test</scope>
</dependency>
medium
A. JUnit 5 tests will run successfully using the added dependency
B. Tests will fail because the dependency scope is wrong
C. Maven will ignore the dependency and not run tests
D. Compilation will fail due to missing JUnit classes

Solution

  1. Step 1: Understand scope test effect

    Scope test means dependency is available only during testing phase.
  2. Step 2: Running mvn test uses test scope dependencies

    Maven includes JUnit 5 library during test execution, so tests run fine.
  3. Final Answer:

    JUnit 5 tests will run successfully using the added dependency -> Option A
  4. Quick Check:

    Scope test + mvn test = tests run [OK]
Hint: Scope test means dependency active only during tests [OK]
Common Mistakes:
  • Thinking test scope excludes dependency during tests
  • Confusing compile scope with test scope
  • Assuming tests run without dependencies
4. You added this dependency to pom.xml but your tests fail with ClassNotFoundException for JUnit classes. What is the likely problem?
<dependency>
  <groupId>org.junit.jupiter</groupId>
  <artifactId>junit-jupiter-api</artifactId>
  <version>5.9.2</version>
</dependency>
medium
A. Dependency must be added in settings.xml not pom.xml
B. Missing <scope>test</scope> causes dependency not to load
C. Version 5.9.2 is incompatible with Maven
D. Using junit-jupiter-api alone is insufficient for tests

Solution

  1. Step 1: Identify artifactId usage

    junit-jupiter-api provides only the test API, not the engine.
  2. Step 2: Recognize missing JUnit engine dependency

    Tests need junit-jupiter which bundles API and engine.
  3. Final Answer:

    Using junit-jupiter-api alone is insufficient for tests -> Option D
  4. Quick Check:

    Missing JUnit engine causes ClassNotFoundException [OK]
Hint: Use junit-jupiter for full JUnit 5, not just api [OK]
Common Mistakes:
  • Assuming api artifact is enough
  • Ignoring missing scope tag
  • Thinking version causes ClassNotFoundException
5. You want to add JUnit 5 to your Maven project but only for running tests, not for compiling main code. Which is the best complete dependency snippet to add in pom.xml?
hard
A. org.junit.vintage junit-vintage-engine 5.9.2 test
B. org.junit.jupiter junit-jupiter-engine 5.9.2 compile
C. org.junit.jupiter junit-jupiter 5.9.2 test
D. org.junit.jupiter junit-jupiter-api 5.9.2 runtime

Solution

  1. Step 1: Identify full JUnit 5 dependency

    The junit-jupiter artifact includes API and engine for tests.
  2. Step 2: Confirm scope for test-only usage

    Setting scope to test ensures dependency is used only during testing.
  3. Final Answer:

    Complete JUnit 5 dependency with test scope -> Option C
  4. Quick Check:

    JUnit 5 + test scope = org.junit.jupiter junit-jupiter 5.9.2 test [OK]
Hint: Use junit-jupiter with scope test for proper test setup [OK]
Common Mistakes:
  • Using compile or runtime scope instead of test
  • Using only junit-jupiter-engine or vintage-engine
  • Confusing API artifact with full junit-jupiter
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard