Problemas com testes no Seam (TestNG + Seam)

3 respostas
leandro.fpk

Alguem sabe que erro é este? O erro só ocorre com os testes que chamam o entityManager.

Obs.: Os testes unitários funcionam corretamente e a versão do seam é a 2.2.0 GA.

[testng] [Parser] Running:
   [testng]   /projetos/proj/test-build/aplicacaoTest.xml
   [testng]   /projetos/proj/test-build/dominioTest.xml
   [testng] FAILED CONFIGURATION: @BeforeSuite startSeam
   [testng] java.lang.RuntimeException: java.net.MalformedURLException: no !/ in spec
   [testng] 	at org.jboss.virtual.plugins.context.AbstractURLHandler.initCacheLastModified(AbstractURLHandler.java:76)
   [testng] 	at org.jboss.virtual.plugins.context.AbstractURLHandler.<init>(AbstractURLHandler.java:65)
   [testng] 	at org.jboss.virtual.plugins.context.jar.SynthenticDirEntryHandler.<init>(SynthenticDirEntryHandler.java:72)
   [testng] 	at org.jboss.virtual.plugins.context.jar.AbstractJarHandler.buildParents(AbstractJarHandler.java:244)
   [testng] 	at org.jboss.virtual.plugins.context.jar.AbstractJarHandler.initJarFile(AbstractJarHandler.java:179)
   [testng] 	at org.jboss.virtual.plugins.context.jar.JarHandler.<init>(JarHandler.java:63)
   [testng] 	at org.jboss.virtual.plugins.context.jar.JarContext.createVirtualFileHandler(JarContext.java:85)
   [testng] 	at org.jboss.virtual.plugins.context.jar.JarContext.<init>(JarContext.java:58)
   [testng] 	at org.jboss.virtual.plugins.context.jar.JarContextFactory.getVFS(JarContextFactory.java:51)
   [testng] 	at org.jboss.virtual.VFS.getVFS(VFS.java:132)
   [testng] 	at org.jboss.virtual.VFS.getRoot(VFS.java:146)
   [testng] 	at org.jboss.embedded.DeploymentGroup.getVirtualFile(DeploymentGroup.java:175)
   [testng] 	at org.jboss.embedded.DeploymentGroup.add(DeploymentGroup.java:165)
   [testng] 	at org.jboss.embedded.DeploymentGroup.addBaseResource(DeploymentGroup.java:369)
   [testng] 	at org.jboss.embedded.DeploymentGroup.addResourceBases(DeploymentGroup.java:398)
   [testng] 	at org.jboss.embedded.Bootstrap.deployResourceBases(Bootstrap.java:288)
   [testng] 	at org.jboss.seam.mock.EmbeddedBootstrap.startAndDeployResources(EmbeddedBootstrap.java:15)
   [testng] 	at org.jboss.seam.mock.AbstractSeamTest.startJbossEmbeddedIfNecessary(AbstractSeamTest.java:1024)
   [testng] 	at org.jboss.seam.mock.AbstractSeamTest.startSeam(AbstractSeamTest.java:915)
   [testng] 	at org.jboss.seam.mock.SeamTest.startSeam(SeamTest.java:58)
   [testng] Caused by: java.net.MalformedURLException: no !/ in spec
   [testng] 	at java.net.URL.<init>(URL.java:601)
   [testng] 	at java.net.URL.<init>(URL.java:464)
   [testng] 	at java.net.URL.<init>(URL.java:413)
   [testng] 	at java.net.JarURLConnection.parseSpecs(JarURLConnection.java:161)
   [testng] 	at java.net.JarURLConnection.<init>(JarURLConnection.java:144)
   [testng] 	at sun.net.www.protocol.jar.JarURLConnection.<init>(JarURLConnection.java:63)
   [testng] 	at sun.net.www.protocol.jar.Handler.openConnection(Handler.java:24)
   [testng] 	at java.net.URL.openConnection(URL.java:945)
   [testng] 	at org.jboss.virtual.plugins.context.AbstractURLHandler.initCacheLastModified(AbstractURLHandler.java:72)
   [testng] 	... 34 more
   [testng] ... Removed 15 stack frames
   [testng] SKIPPED CONFIGURATION: @BeforeClass setupClass
   [testng] SKIPPED CONFIGURATION: @BeforeMethod begin
   [testng] SKIPPED CONFIGURATION: @AfterMethod end
   [testng] SKIPPED CONFIGURATION: @AfterClass cleanupClass
   [testng] SKIPPED: testnscreverAlunoComVagasDisponiveis
   [testng] ===============================================

3 Respostas

M

Cara, to com esse mesmo problema e já pesquisei bastante e muita gente diz que isso é incompatibilidade com a JVM...
Aí já achei gente dizendo que isso é incompatibilidade com a versão do JBoss Seam... Aí vou testar mudar algumas configurações nesse sentido!!

Bota um arquivo de log no seu classpath pra ver se te ajuda aí!

Arquivo: log4testng.properties

Atributos:

# log4testng will log
log4testng.debug=true

# All Logger will log DEBUG level and above
log4testng.rootLogger=TRACE

# The org.testng.reporters.EmailableReporter Logger will log TRACE level and above
log4testng.logger.org.testng.reporters.EmailableReporter=TRACE

# All Logger in packages below org.testng will log WARN level and above
log4testng.logger.org.testng=TRACE

# Values: TRACE, DEBUG, INFO, WARN, ERROR and FATAL
K

E ai galera...
Achar sobre esse assunto na internet está sendo muito dificil.. esse erro não ocorreu comigo está acontecendo outro.. se puderem me ajudar...
estou integrando o com o maven + seam + testng + embedded-jboss-beta3

em meu POM.XML RAIZ, adicionei as seguintes linhas..importantes na config.. o rsto é da app msm. p não deixar mt grande vou colocar as partes importantes.

POM.XML RAIZ
................
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.jboss.embedded</groupId>
				<artifactId>hibernate-all</artifactId>
				<version>beta3.SP5</version>
				<scope>provided</scope>
			</dependency>
			..................................
			<dependency>
				<groupId>org.testng</groupId>
				<artifactId>testng</artifactId>
				<version>5.7</version>
				<classifier>jdk15</classifier>
			</dependency>
					
		</dependencies>
	</dependencyManagement>
POM.XML da minha app que possui um SeamTest
....
<dependencies>
       <dependency>
            <groupId>org.jboss.embedded</groupId>
            <artifactId>hibernate-all</artifactId>
            <version>beta3.SP5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
                <groupId>org.testng</groupId>
	<artifactId>testng</artifactId>
	<scope>test</scope>
	<classifier>jdk15</classifier>
        </dependency>
        <dependency>
	<groupId>javax.el</groupId>
	<artifactId>el-api</artifactId>
	<version>1.2</version>
                <scope>test</scope>
        </dependency>
        ...................
        <dependency>
	<groupId>org.jboss.embedded</groupId>
	<artifactId>jboss-embedded-all</artifactId>
	<version>beta3.SP5</version>
	<scope>test</scope>
        </dependency>
        <dependency>
	<groupId>org.jboss.embedded</groupId>
	<artifactId>jboss-embedded-all</artifactId>
	<version>beta3.SP5</version>
                <exclusions>
                        <exclusion>
                            <groupId>org.jboss.embedded</groupId>
                            <artifactId>jboss-embedded</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.jboss.microcontainer</groupId>
                            <artifactId>jboss-deployers-client-spi</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.jboss.microcontainer</groupId>
                            <artifactId>jboss-deployers-core-spi</artifactId>
                        </exclusion>
                </exclusions>
 	<scope>test</scope>
        </dependency>
        <dependency>
                <groupId>org.jboss.embedded</groupId>
	<artifactId>hibernate-all</artifactId>
	<version>beta3.SP5</version>
	<scope>test</scope>
        </dependency>
        <dependency>
	<groupId>org.jboss.embedded</groupId>
	<artifactId>thirdparty-all</artifactId>
	<version>beta3.SP5</version>
	<scope>test</scope>
	</dependency>
        <dependency>
	<groupId>org.jboss.embedded</groupId>
	<artifactId>jboss-embedded</artifactId>
                <version>beta3.SP5</version>
	<scope>test</scope>
                <exclusions>
                        <exclusion>
                                <groupId>org.jboss.microcontainer</groupId>
                                <artifactId>jboss-deployers-client-spi</artifactId>
                        </exclusion>
                </exclusions>
        </dependency>
</dependencies>
....................
<build>
        <plugins>
	<plugin>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>org.jboss.embedded</groupId>
                                    <artifactId>jboss-embedded-bootstrap</artifactId>
                                    <type>zip</type>
                                    <version>beta3</version>
                                </artifactItem>
                            </artifactItems>
                            <outputDirectory>${project.build.testOutputDirectory}</outputDirectory>
                        </configuration>
                        <id>download-embedded-jboss-bootstrap</id>
                        <phase>process-test-resources</phase>
                        <goals>
                            <goal>unpack</goal>
                        </goals>
                    </execution>
                    <execution>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>javax.xml.bind</groupId>
                                    <artifactId>jaxb-api</artifactId>
                                    <version>2.1</version>
                                </artifactItem>
                            </artifactItems>
                            <outputDirectory>${project.build.testOutputDirectory}/endorsed</outputDirectory>
                        </configuration>
                        <id>download-jaxb-api</id>
                        <phase>process-test-resources</phase>
                        <goals>
                            <goal>copy</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-surefire-plugin</artifactId>
	<configuration>
	         <suiteXmlFiles>
		<suiteXmlFile>src/test/testng.xml</suiteXmlFile>
	         </suiteXmlFiles>
                    <additionalClasspathElements>
                        <additionalClasspathElement>${project.build.testOutputDirectory}/bootstrap</additionalClasspathElement>
                    </additionalClasspathElements>
                    <childDelegation>true</childDelegation>
                    <useSystemClassLoader>true</useSystemClassLoader>
	   <argLine>-Djava.endorsed.dirs=${project.build.testOutputDirectory}/endorsed -Dsun.lang.ClassLoader.allowArraySyntax=true</argLine>
	</configuration>
          </plugin>
</plugins>
.......................
<testSourceDirectory>src/test/java</testSourceDirectory>
	<testResources>
		<testResource>
		<directory>src/test/resources</directory>
		<filtering>true</filtering>
		</testResource>
	</testResources>
</build>

Dentro da pasta src\test\resources adicionei a pasta bootstrap do embedded-jboss-beta3.zip, ficando src\test\resources\bootstrap
No diretório src\test\resources\bootstrap\deploy adiconei o arquivo xxx-ds.xml com as configurações de conexao com BD

xxx-ds.xml
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
     <local-tx-datasource>
     <jndi-name>acessoDatasource</jndi-name>
      <connection-url>jdbc:oracle:thin:@172.27.254.65:1521:LDOHML01</connection-url>
      <driver-class>oracle.jdbc.pool.OracleDataSource</driver-class>
      <user-name>usu01</user-name>
      <password>ttsu01</password>
   </local-tx-datasource>
</datasources>
Meu arquivo testng.xml
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite thread-count ="5"skipfailedinvocationCounts="false" verbose="1" name="acesso-jsf" junit="false" parallel="false" annotations="JDK">
	<test verbose ="3"name="com.login.acesso.jsf.SistemaBeanTest" junit="false" annotations="JDK">
		<classes>
			<class name="com.login.acesso.jsf.SistemaBeanTest"/>
		</classes>
	</test>
</suite>
persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
	<!-- Persistence deployment descriptor for dev profile -->
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
	version="1.0">

	<persistence-unit name="acessoDataBase" transaction-type="RESOURCE_LOCAL">
		<provider>org.hibernate.ejb.HibernatePersistence</provider>
		<non-jta-data-source>java:/acessoDatasource</non-jta-data-source>
		
		<class>com.login.acesso.entity.Sistema</class>
		<class>com.login.acesso.entity.Perfil</class>
		<class>com.login.acesso.entity.Funcionalidade</class>

		<properties>
			<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle9Dialect" />
			<property name="hibernate.show_sql" value="true" />
			<property name="hibernate.format_sql" value="true" />
		</properties>
	</persistence-unit>

</persistence>
Quando executo através do comendo
mvn test
ocorre o seguinte erro
*** CONTEXTS IN ERROR: Name -&gt; Error

vfsfile:/D:/development/workspaces/eclipse/workspace/acesso/acesso-jsf/target/test-classes/bootstrap/deploy/xxx-ds.xml -&gt; java.net.ConnectException: Connection timed out: connect


	at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:576)
	at org.jboss.deployers.plugins.main.MainDeployerImpl.checkComplete(MainDeployerImpl.java:559)
	at org.jboss.embedded.Bootstrap.bootstrapURL(Bootstrap.java:149)
	at org.jboss.embedded.Bootstrap.bootstrap(Bootstrap.java:183)
	at org.jboss.embedded.Bootstrap.bootstrap(Bootstrap.java:195)
	at org.jboss.seam.mock.EmbeddedBootstrap.startAndDeployResources(EmbeddedBootstrap.java:11)
	at org.jboss.seam.mock.AbstractSeamTest.startJbossEmbeddedIfNecessary(AbstractSeamTest.java:1024)
	at org.jboss.seam.mock.AbstractSeamTest.startSeam(AbstractSeamTest.java:915)
	at org.jboss.seam.mock.SeamTest.startSeam(SeamTest.java:58)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:580)
	at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:398)
	at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:145)
	at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:82)
	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:262)
	at org.testng.SuiteRunner.run(SuiteRunner.java:191)
	at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:808)
	at org.testng.TestNG.runSuitesLocally(TestNG.java:776)
	at org.testng.TestNG.run(TestNG.java:701)
	at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:74)
	at org.apache.maven.surefire.testng.TestNGXmlTestSuite.execute(TestNGXmlTestSuite.java:92)
	at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:338)
	at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:997)

Quando executo pelo TestNG dentro do Eclipse funciona, porém sem o JNDI. Qual será o problema de integração com Maven2, alguém já conseguiu colocar p funcionar???

Abraçoss

K

E ai galera… não sei se estou avançando… mas…
consegui habilitar o Maven Debug no Eclipse, porém estou utilizando jdk5 e a classe HttpURLConnection fica dentro do rt.jat que não possuo o fonte…
logo não consigo saber que url ele está chamando… já que dentro do próprio Seam já foi encontrado erros co dados fixos no código.

Alguém sabe onde consigo o RT source? do java5?

Estou com dificuldade sobre esse assunto pouco discutido em mts fóruns

Abraços

Criado 8 de março de 2010
Ultima resposta 14 de abr. de 2010
Respostas 3
Participantes 3