This simple test class has two tests that pass. Running mvn test creates XML reports. Then mvn surefire-report:report creates an HTML report you can open in a browser.
JUnit
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class SimpleTest {
@Test
void addition() {
assertEquals(2, 1 + 1);
}
@Test
void subtraction() {
assertEquals(0, 1 - 1);
}
}
// Run tests with: mvn test
// Then generate HTML report with: mvn surefire-report:report
OutputSuccess
Important Notes
XML reports are machine-readable and used by many tools.
HTML reports are easy to read for humans in a web browser.
Always check the target/surefire-reports folder for reports after tests run.
Summary
XML reports store test results in a structured format.
HTML reports show test results in a friendly way.
Use Maven commands to generate both reports easily.
Practice
(1/5)
1. What is the main purpose of XML reports in JUnit testing?
easy
A. To store test results in a structured format for tools to read
B. To display test results directly in a web browser
C. To run tests faster by using XML files
D. To write test cases in XML syntax
Solution
Step 1: Understand XML report role
XML reports save test results in a structured way that other tools can process.
Step 2: Compare with other options
HTML reports display results in browsers, not XML. XML does not speed tests or write test cases.
Final Answer:
To store test results in a structured format for tools to read -> Option A
Quick Check:
XML reports = structured data storage [OK]
Hint: XML = structured data for tools, not direct display [OK]
Common Mistakes:
Confusing XML reports with HTML display
Thinking XML speeds up test execution
Assuming tests are written in XML
2. Which Maven command generates both XML and HTML reports for JUnit tests?
easy
A. mvn test -DreportFormat=xml,html
B. mvn generate-reports
C. mvn surefire-report:report
D. mvn clean install
Solution
Step 1: Identify Maven reporting plugin
The Surefire Report plugin generates XML and HTML reports after tests run.
Step 2: Check other commands
"mvn clean install" runs build and tests but does not generate reports alone. Others are invalid commands.
Final Answer:
mvn surefire-report:report -> Option C
Quick Check:
Surefire report plugin = XML + HTML reports [OK]
Hint: Surefire plugin command generates reports, not just test run [OK]
The 'time' attribute records how long the test took to execute, in seconds.
Step 2: Eliminate other meanings
Timeout is set elsewhere, assertions count is not stored here, and priority is unrelated.
Final Answer:
The time in seconds the test took to run -> Option A
Quick Check:
time attribute = execution duration [OK]
Hint: time attribute always means test duration in seconds [OK]
Common Mistakes:
Confusing time with timeout limit
Thinking time counts assertions
Assuming time is test priority
4. You run JUnit tests with Maven but the HTML report is missing. Which is the most likely cause?
medium
A. The tests did not run due to compilation errors
B. The Surefire plugin is not configured to generate reports
C. The XML report file is corrupted
D. The HTML report is generated only for failed tests
Solution
Step 1: Check report generation setup
If Surefire plugin is not configured properly, no reports are created.
Step 2: Analyze other options
Compilation errors stop tests but usually show errors; corrupted XML won't prevent HTML generation if configured; HTML reports show all tests, not just failures.
Final Answer:
The Surefire plugin is not configured to generate reports -> Option B
Quick Check:
Missing HTML report = plugin config issue [OK]
Hint: Check Surefire plugin config if reports are missing [OK]
Common Mistakes:
Assuming HTML reports only for failed tests
Ignoring plugin configuration
Blaming XML corruption without evidence
5. You want to customize the JUnit HTML report to include test categories and better styling. Which approach is best?
hard
A. Edit the XML report files directly before viewing
B. Use a different testing framework that supports HTML styling
C. Change the test method names to include categories
D. Modify the XSLT files used to transform XML to HTML
Solution
Step 1: Understand report generation process
JUnit XML reports are transformed to HTML using XSLT stylesheets, which control layout and content.
Step 2: Evaluate customization options
Editing XML directly is impractical; changing test names is limited; switching frameworks is unnecessary if customization is possible.
Final Answer:
Modify the XSLT files used to transform XML to HTML -> Option D
Quick Check:
Customize HTML via XSLT transformation [OK]
Hint: Edit XSLT to customize HTML report content and style [OK]
Common Mistakes:
Trying to edit XML reports directly
Relying on test names for report styling
Switching frameworks unnecessarily
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.