SeamTest don't works
vmoa Jun 11, 2008 4:53 PMHi all, I am with a problem with SeamTest. I'm using Seam 2.0.2-GA, JBoss 4.2.2 GA, Java 5 and TestNG to the unit tests.
The exception raised when the tests are executed is:
[testng] ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] Error installing to Described: name=BeanDeployer state=PreInstall [testng] java.lang.RuntimeException: java.lang.reflect.UndeclaredThrowableException [testng] at org.jboss.aop.util.ClassInfoMethodHashing.methodHash(ClassInfoMethodHashing.java:70) [testng] at org.jboss.aop.util.ClassInfoMethodHashing.addDeclaredMethods(ClassInfoMethodHashing.java:169) [testng] at org.jboss.aop.util.ClassInfoMethodHashing.populateMethodTables(ClassInfoMethodHashing.java:182) [testng] at org.jboss.aop.util.ClassInfoMethodHashing.populateMethodTables(ClassInfoMethodHashing.java:181) [testng] at org.jboss.aop.util.ClassInfoMethodHashing.populateMethodTables(ClassInfoMethodHashing.java:181) [testng] at org.jboss.aop.util.ClassInfoMethodHashing.populateMethodTables(ClassInfoMethodHashing.java:181) [testng] at org.jboss.aop.util.ClassInfoMethodHashing.populateMethodTables(ClassInfoMethodHashing.java:181) [testng] at org.jboss.aop.util.ClassInfoMethodHashing.populateMethodTables(ClassInfoMethodHashing.java:181) [testng] at org.jboss.aop.util.ClassInfoMethodHashing.getMethodMap(ClassInfoMethodHashing.java:188) [testng] at org.jboss.aop.microcontainer.integration.AOPDependencyBuilder.getMethodAnnotationDependencies(AOPDependencyBuilder.java:197) [testng] at org.jboss.aop.microcontainer.integration.AOPDependencyBuilder.getAnnotationDependencies(AOPDependencyBuilder.java:152) [testng] at org.jboss.aop.microcontainer.integration.AOPDependencyBuilder.getDependencies(AOPDependencyBuilder.java:130) [testng] at org.jboss.classadapter.plugins.BasicClassAdapter.getDependencies(BasicClassAdapter.java:80) [testng] at org.jboss.beans.info.plugins.AbstractBeanInfo.getDependencies(AbstractBeanInfo.java:211) [testng] at org.jboss.kernel.plugins.dependency.DescribeAction.installActionInternal(DescribeAction.java:53) [testng] at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.installAction(KernelControllerContextAction.java:135) [testng] at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.installAction(KernelControllerContextAction.java:46) [testng] at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62) [testng] at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71) [testng] at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51) [testng] at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:327) [testng] at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1309) [testng] at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:734) [testng] at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:862) [testng] at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:784) [testng] at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:574) [testng] at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:398) [testng] at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deployBean(AbstractKernelDeployer.java:309) [testng] at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deployBeans(AbstractKernelDeployer.java:279) [testng] at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deploy(AbstractKernelDeployer.java:130) [testng] at org.jboss.kernel.plugins.deployment.xml.BeanXMLDeployer.deploy(BeanXMLDeployer.java:96) [testng] at org.jboss.embedded.Bootstrap.deployBaseBootstrapUrl(Bootstrap.java:130) [testng] at org.jboss.embedded.Bootstrap.bootstrapURL(Bootstrap.java:142) [testng] at org.jboss.embedded.Bootstrap.bootstrap(Bootstrap.java:183) [testng] at org.jboss.embedded.Bootstrap.bootstrap(Bootstrap.java:195) [testng] at org.jboss.seam.mock.EmbeddedBootstrap.startAndDeployResources(EmbeddedBootstrap.java:11) [testng] at org.jboss.seam.mock.BaseSeamTest.startJbossEmbeddedIfNecessary(BaseSeamTest.java:1041) [testng] at org.jboss.seam.mock.BaseSeamTest.startSeam(BaseSeamTest.java:935) [testng] at org.jboss.seam.mock.BaseSeamTest.init(BaseSeamTest.java:923) [testng] at org.jboss.seam.mock.SeamTest.init(SeamTest.java:42) [testng] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [testng] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [testng] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [testng] at java.lang.reflect.Method.invoke(Unknown Source) [testng] at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:604) [testng] at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:394) [testng] at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:142) [testng] at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:79) [testng] at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:165) [testng] at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:103) [testng] at org.testng.TestRunner.runWorkers(TestRunner.java:678) [testng] at org.testng.TestRunner.privateRun(TestRunner.java:624) [testng] at org.testng.TestRunner.run(TestRunner.java:495) [testng] at org.testng.SuiteRunner.runTest(SuiteRunner.java:300) [testng] at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:295) [testng] at org.testng.SuiteRunner.privateRun(SuiteRunner.java:275) [testng] at org.testng.SuiteRunner.run(SuiteRunner.java:190) [testng] at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:792) [testng] at org.testng.TestNG.runSuitesLocally(TestNG.java:765) [testng] at org.testng.TestNG.run(TestNG.java:699) [testng] at org.testng.TestNG.privateMain(TestNG.java:824) [testng] at org.testng.TestNG.main(TestNG.java:802) [testng] Caused by: java.lang.reflect.UndeclaredThrowableException [testng] at org.jboss.reflect.plugins.ArrayInfoImpl.getType(ArrayInfoImpl.java:103) [testng] at org.jboss.reflect.plugins.ClassInfoImpl.isArray(ClassInfoImpl.java:495) [testng] at org.jboss.aop.util.ClassInfoMethodHashing.getTypeString(ClassInfoMethodHashing.java:149) [testng] at org.jboss.aop.util.ClassInfoMethodHashing.methodHash(ClassInfoMethodHashing.java:53) [testng] ... 61 more [testng] Caused by: java.lang.ClassNotFoundException: [Ljava.lang.Class; [testng] at java.net.URLClassLoader$1.run(Unknown Source) [testng] at java.security.AccessController.doPrivileged(Native Method) [testng] at java.net.URLClassLoader.findClass(Unknown Source) [testng] at java.lang.ClassLoader.loadClass(Unknown Source) [testng] at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) [testng] at java.lang.ClassLoader.loadClass(Unknown Source) [testng] at org.jboss.reflect.plugins.introspection.IntrospectionTypeInfoFactoryImpl.resolveComplexTypeInfo(IntrospectionTypeInfoFactoryImpl.java:367) [testng] at org.jboss.reflect.plugins.introspection.IntrospectionTypeInfoFactoryImpl.getTypeInfo(IntrospectionTypeInfoFactoryImpl.java:344) [testng] at org.jboss.reflect.plugins.introspection.IntrospectionTypeInfoFactory.getTypeInfo(IntrospectionTypeInfoFactory.java:54) [testng] at org.jboss.reflect.plugins.ArrayInfoImpl.getType(ArrayInfoImpl.java:99) [testng] ... 64 more
My ant classpath is populated with:
<path id="test.path"> <path path="${tests.result.dir}" /> <pathelement location="${lib.dir}/tests/jboss-embedded-all.jar" /> <pathelement location="${lib.dir}/tests/hibernate-all.jar" /> <pathelement location="${lib.dir}/tests/thirdparty-all.jar" /> <path refid="build.classpath" /> <path path="${bootstrap.dir}" /> <path refid="emma" /> </path>
The order of classpath is exactly as the Seam's build.xml. The build.classpath contains the others requireds jars:
-jboss-deployers-client-spi.jar
-jboss-deployers-core-spi.jar
My bootstrap directory is the same of the Seam.
My test class is very simple:
import org.jboss.seam.mock.SeamTest; import org.testng.annotations.Test; public class EValidationTest extends SeamTest{ @Test public void wrongParametersTest() throws Exception { System.out.println("AUAU"); } @Test public void correctParametersTest() throws Exception { System.out.println("AUAU"); } }
And raises the exceptions related in this post. When I remove the SeamTest inheritance the test works fine.
Please, if any can help, I will appreciate. And sorry for poor english.