Integration of Karate API with JUnit 5

  

Integrating JUnit 5 with Karate API Testing framework allows you to run your BDD-style .feature files as part of your unit/integration test suite using the JUnit 5 engine. Below is a detailed guide and working code example.


Step-by-Step Integration: JUnit 5 + Karate API


1. Add Dependencies in pom.xml



<dependencies>
    <!-- Karate core -->
    <dependency>
        <groupId>com.intuit.karate</groupId>
        <artifactId>karate-junit5</artifactId>
        <version>1.4.1</version> <!-- or latest -->
        <scope>test</scope>
    </dependency>

    <!-- Optional: For HTML Reporting -->
    <dependency>
        <groupId>net.masterthought</groupId>
        <artifactId>cucumber-reporting</artifactId>
        <version>5.7.0</version>
    </dependency>
</dependencies>




2. Create Karate Test Feature File

src/test/resources/examples/sample.feature


Feature: Sample Karate Test

  Scenario: Get Request Test
    Given url 'https://jsonplaceholder.typicode.com/posts/1'
    When method get
    Then status 200
    And match response.id == 1




3. Create JUnit 5 Test Runner

src/test/java/examples/RunKarateTest.java


package examples;

import com.intuit.karate.junit5.Karate;

class RunKarateTest {

    @Karate.Test
    Karate testAll() {
        // Run all feature files in the package `examples`
        return Karate.run().relativeTo(getClass());
    }

    @Karate.Test
    Karate testSpecificFeature() {
        // Run a specific feature file
        return Karate.run("sample").relativeTo(getClass());
    }
}



4. Run Tests

You can run the tests:

  • From IDE (IntelliJ / Eclipse) — right-click RunKarateTest → Run.

  • From Maven:


mvn test


5. View Reports

Karate generates HTML reports by default at:

target/karate-reports/karate-summary.html

No comments:

Post a Comment