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