prism.js

2014. február 20., csütörtök

TestNG + @ArquillianResteasyResource method parameter -> org.testng.TestNGException

Az arquillian-rest-client példái mind JUnit-al vannak elkészítve, viszont ha valaki TestNG-vel akarja használni a tesztet, akkor a következő exception-t kaphat, hogyha @Test metódusban paramétert akar rakni:
org.testng.TestNGException: 
Method callAccountRest requires 1 parameters but 0 were supplied in the @Test annotation.
 at org.testng.internal.Parameters.checkParameterTypes(Parameters.java:198)
 at org.testng.internal.Parameters.createParameters(Parameters.java:134)
 at org.testng.internal.Parameters.createParameters(Parameters.java:373)
 at org.testng.internal.Parameters.handleParameters(Parameters.java:450)
 at org.testng.internal.Invoker.handleParameters(Invoker.java:1383)
 at org.testng.internal.Invoker.createParameters(Invoker.java:1075)
 at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1180)
 at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
 at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
 at org.testng.TestRunner.privateRun(TestRunner.java:767)
 at org.testng.TestRunner.run(TestRunner.java:617)
 at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
 at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
 at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
 at org.testng.SuiteRunner.run(SuiteRunner.java:240)
 at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
 at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
 at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
 at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
 at org.testng.TestNG.run(TestNG.java:1057)
 at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
 at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
 at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
Ennek a megoldása itt ARQ-562 található, de nem könnyű elsőre rátalálni.

Szóval a megoldás:
Path: "\src\test\java"
import org.jboss.arquillian.extension.rest.client.ArquillianResteasyResource;
import org.jboss.arquillian.testng.Arquillian;
import org.testng.annotations.Test;

public class TestNGExampleIT extends Arquillian {

    @Test(dataProvider = Arquillian.ARQUILLIAN_DATA_PROVIDER)
    public void test(@ArquillianResteasyResource InputParam param) {
        //...
    }
}

import org.jboss.arquillian.junit.Arquillian;
import org.jboss.arquillian.test.api.ArquillianResource;
import org.junit.Test;
import org.junit.runner.RunWith;

@RunWith(Arquillian.class)
public class JUnitExampleIT {

   @Test
   public void test(@ArquillianResteasyResource InputParam param) {
      //...
   }
}
Imi

Nincsenek megjegyzések:

Megjegyzés küldése

prism.js

Hibernate SQL logging = jBoss 7 + log4jdbc + JNDI + JPA + logback

Maga a JPA nem teszi lehetővé a pontos adatbázis felé történő kommunikációt, csak annyit amennyit a persistence.xml fájban állíthatunk: <...