-
Notifications
You must be signed in to change notification settings - Fork 1k
Closed
Labels
Milestone
Description
TestNG Version
7.9.0
Expected behavior
No problems running test method in derived test class where ITestNGListenerFactory annotation is present on super class.
Actual behavior
TestNG crashes during load:
org.testng.TestNGException: Found more than one class implementing ITestNGListenerFactory:class com.test.MyTestNgFactory and class com.test.MyTestNgFactory
at org.testng.internal.TestListenerHelper.lambda$findAllListeners$0(TestListenerHelper.java:149)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
at org.testng.internal.TestListenerHelper.findAllListeners(TestListenerHelper.java:139)
at org.testng.TestRunner.initListeners(TestRunner.java:374)
at org.testng.TestRunner.init(TestRunner.java:357)
at org.testng.TestRunner.init(TestRunner.java:307)
at org.testng.TestRunner.<init>(TestRunner.java:182)
at org.testng.SuiteRunner$DefaultTestRunnerFactory.newTestRunner(SuiteRunner.java:652)
at org.testng.SuiteRunner.init(SuiteRunner.java:224)
at org.testng.SuiteRunner.<init>(SuiteRunner.java:116)
at org.testng.TestNG.createSuiteRunner(TestNG.java:1396)
at org.testng.TestNG.createSuiteRunners(TestNG.java:1370)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1219)
at org.testng.TestNG.runSuites(TestNG.java:1134)
at org.testng.TestNG.run(TestNG.java:1101)
at com.intellij.rt.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:66)
at com.intellij.rt.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:105)
This is a regression in 7.9.0 as it was never seen in 7.8.0 or prior versions.
Is the issue reproducible on runner?
- Shell
- Maven
- Gradle
- Ant
- Eclipse
- IntelliJ
- NetBeans
Test case sample
Running ChildClass#test() throws exception above.
@Listeners(MyTestNgFactory.class)
public static class SuperClass {
}
public static class ChildClass extends SuperClass {
@Test
public void child() {
}
}
public static class MyTestNgFactory implements ITestNGListener, ITestNGListenerFactory {
@Override
public ITestNGListener createListener(Class<? extends ITestNGListener> listenerClass) {
return null;
}
}Contribution guidelines
Incase you plan to raise a pull request to fix this issue, please make sure you refer our Contributing section for detailed set of steps.
Reactions are currently unavailable