title: Generate extent report using "ITestListener" or "IReporter" listeners
body: <p><strong>I need to generate a <code>testng extent report (version 3)</code>. I saw that there are two ways to generate an extent report.</strong></p>
  
  <p>Here, I am explaining two cases without using the code.</p>
  
  <blockquote>
    <ul>
    <li><p>Case 1:</p>
    
    <p>Creating a class implementing "IReporter" listener and this class is defined in the testng.xml file.</p></li>
    <li><p>Case 2:</p>
    
    <p>Creating a java class (ExtentTestManager.java) and defined relavent methods, used "com.relevantcodes.extentreports.ExtentTest" and "com.relevantcodes.extentreports.ExtentReports" packages for implementation the logics.</p></li>
    </ul>
  </blockquote>
  
  <p>Then, creating a class (TestListener) implementing "ITestListener" listener and extending BaseTest Class.</p>
  
  <p>To override methods, this class is used the methods in ExtentTestManager.java class. Finally, this new class is defined testng.xml file.</p>
  
  <p>Here, I want to know which implementation is appropriate to generate an extent report and reasons, please.</p>
  
  <p>In case 2, why should be "TestListener" class extended the "TestBase" class as well?.</p>