my setup:
- a testbase class containing @beforeclass method
- several test classes extending testbase class , containing @beforeclass method
- testng 6.8.8
why setup?:
- i need @beforeclass in testbase class provide setup testclasses need , don't want repeat in every test class. example thread-id-dependent login credentials.
- testbase class instantiates selenium webdriver
- i need @beforeclass in test classes initialize @test methods need use needs (or must) built/invoked once tests. includes calls said webdriver instance (that's why "normal" constructor doesn't work here)
here's happens:
when run tests via testng xml file , there exception within @beforeclass method of 1 of test classes, all subsequent test classes skipped testng.
why happen? how prevent it?
when change annotation in testbase class @beforesuite example, all tests run, if there exception in on of @beforeclass methods.
example:
when run xml file, complete runalltestclasses02 class skipped.
testng xml file:
<?xml version="1.0" encoding="utf-8"?> <suite name = "miscsuite"> <test name = "misctest"> <classes > <class name="drkthng.misc.runalltestclasses01" /> <class name="drkthng.misc.runalltestclasses02" /> </classes> </test> </suite> testbase class @beforeclass method:
public abstract class runalltestclassesbase { @beforeclass public void beforeclass() { // test classes need } } test class throws exception within @beforeclass method:
public class runalltestclasses01 extends runalltestclassesbase { @beforeclass public void beforeclass() { assert.asserttrue(false); } @test public void test01() { assert.asserttrue(true); } }
this bug in testng. solved in 6.9.5. please upgrade.
Comments
Post a Comment