mardi 11 octobre 2016

JUnit get tests results at AfterClass

I need to run tests classes and show the results in screen, following this structure, but just after running all.

@RunWith(Suite.class) @Suite.SuiteClasses({

    LoginTest.class,        
    LogoutTest.class

})

public class AllTests {

protected static WebDriver driver;

@BeforeClass
public static void beforeClass() throws Exception {

    driver = Selenium.getDriver();
    driver.navigate().to(Property.SITE_ADDRESS);
    driver.manage().window().maximize();    

}

@AfterClass
public static void afterClass() throws Exception {

    String resultString = "";

    Result result = JUnitCore.runClasses(AllTests.class);
    for (Failure fail : result.getFailures()) {
        resultString += result.getClass() +": "+ fail.toString()+"\n";
    }
    if (result.wasSuccessful()) {
        resultString += result.getClass() +": "+ result + "\n";
    } 

    JFrame frame = new JFrame("Results");
    JOptionPane.showMessageDialog(frame, resultString, "Title", JOptionPane.INFORMATION_MESSAGE);

    driver.quit();
}  

My @AfterClass is re-running my test classes, is there any other solution?

Aucun commentaire:

Enregistrer un commentaire