-
Notifications
You must be signed in to change notification settings - Fork 201
Description
hi me again ;-)
I made a small test to check the parameter transfer (Project on Github)
env:
testng 7.11
arquillian 1.9.5.final
arquillian - suite extension (it has no influence on behaviour! I removed it / kept it same result)
openjdk version "21.0.3" 2024-04-16 LTS
I added 2 Services one CDI MyCdiBean / one EJB MyEjbBean both injected
one Test
with before/after suite / method to check which parameter when accessible:
if I remove extend Arquillian / everything works as expected the test parameters from testng.xml are correct transferred to the method
as soon as I add extend Arquillian -> the function ends and the parameter are getting defaulted... which causes afterwards more problems that @options must be defined etc
log without Arquillian (nullpointers are thrown because injections is not working... but log before is interesting):
[TestNG] RUNNING: Suite: "ParamTest" containing "2" Tests (config: /System/Volumes/Data/data/private_projects/demo-tests/demo-service-testng_params/src/test/resources/testng.xml)
[TestNG] INVOKING: "ParamTest" - com.example.MyCdiTest.testCdiBeanInjection(java.lang.String,java.lang.String,java.lang.String)(value(s): "suiteParamABC", "testParamABC", "methodParamABC")
MyCdiTest.testCdiBeanInjection called with params: suiteParamABC, testParamABC,methodParamABC
MyCdiTest.testCdiBeanInjection called: null
MyCdiTest.testCdiBeanInjection called: <test thread-count="1" name="ParamTest" verbose="10">
<parameter name="testParam1" value="testParamABC"/>
<parameter name="classesParam1" value="classesParamABC"/>
<groups>
<run>
<include name="arquillian"/>
</run>
</groups>
<classes>
<class name="com.example.MyCdiTest">
<parameter name="classParam1" value="classParamABC"/>
<methods>
<include name="testCdiBeanInjection">
<parameter name="methodParam1" value="methodParamABC"/>
</include> <!-- testCdiBeanInjection -->
<include name="testEjbBeanInjection"/>
</methods>
</class> <!-- com.example.MyCdiTest -->
</classes>
</test> <!-- ParamTest -->
with Arquillian:
[TestNG] INVOKING CONFIGURATION: "ParamTest" - @BeforeMethod org.jboss.arquillian.testng.Arquillian.arquillianBeforeTest(java.lang.reflect.Method)(value(s): public void com.example.MyCdiTest.testCdiBeanInjection(java.lang.String,java.lang.String,java.lang.String))
[TestNG] PASSED CONFIGURATION: "ParamTest" - @BeforeMethod org.jboss.arquillian.testng.Arquillian.arquillianBeforeTest(java.lang.reflect.Method)(value(s): public void com.example.MyCdiTest.testCdiBeanInjection(java.lang.String,java.lang.String,java.lang.String)) finished in 2 ms
[TestNG] INVOKING: "ParamTest" - com.example.MyCdiTest.testCdiBeanInjection(java.lang.String,java.lang.String,java.lang.String)(value(s): "suiteParamABC", "testParamABC", "methodParamABC")
08:20:32,673 INFO [stdout] (default task-2) Before Suite called param: defaultSuiteParam
08:20:32,700 INFO [stdout] (default task-2) Params from context: null, null
08:20:32,700 INFO [stdout] (default task-2) Params from context: {}
08:20:32,701 INFO [stdout] (default task-2) Before Method called param: defaultTestParam
08:20:32,704 INFO [stdout] (default task-2) MyCdiTest.testCdiBeanInjection called with params: defaultSuiteParam, defaultTestParam,defaultMethodParam
08:20:32,704 INFO [stdout] (default task-2) MyCdiTest.testCdiBeanInjection called: com.example.MyCdiBean@2f6bbe04
08:20:32,706 INFO [stdout] (default task-2) MyCdiTest.testCdiBeanInjection called: <test thread-count="5" name="Arquillian - class com.example.MyCdiTest" verbose="0">
08:20:32,706 INFO [stdout] (default task-2) <classes>
08:20:32,706 INFO [stdout] (default task-2) <class name="com.example.MyCdiTest">
08:20:32,706 INFO [stdout] (default task-2) <methods>
08:20:32,706 INFO [stdout] (default task-2) <include name="testCdiBeanInjection"/>
08:20:32,707 INFO [stdout] (default task-2) </methods>
08:20:32,707 INFO [stdout] (default task-2) </class> <!-- com.example.MyCdiTest -->
08:20:32,707 INFO [stdout] (default task-2) </classes>
08:20:32,707 INFO [stdout] (default task-2) </test> <!-- Arquillian - class com.example.MyCdiTest -->
08:20:32,707 INFO [stdout] (default task-2)
08:20:32,709 INFO [stdout] (default task-2) After Suite
I'm running the tests with:
mvn test -Darquillian.debug=false
br horst