Hi Gaetan,

Thanks to get back to me. I see no change - all the things you applied I 
already did.
I also added your test case to the code and ran that locally - the test is 
obviously not found.

It might have to do with the fact that I prefer JUnit 5 because of its advanced 
parametrized testing features?
I can give you access to the code repo if you have a Gitlab account.

When running tests locally, I do not see any test reports for my classes, so 
this is the indicator I am using.
Also, I have test cases that should fail with the current code state.

So situation is unchanged unfortunately.
Warm regards


Carsten

> Am 20.06.2024 um 16:58 schrieb Gaetan <gaetan.chabous...@nereide.fr>:
> 
> Hi Carsten, do you have any updates on your case ?
> 
> Regards,
> 
> Gaetan
> 
> On 6/11/24 09:58, Gaetan wrote:
>> Hello Carsten.
>> 
>> I set up a very small example plugin that i tested myself localy. Could you 
>> please reproduce the steps below ?
>> 
>> - get ofbiz framework from apache repo 
>> (https://github.com/apache/ofbiz-framework)
>> 
>>    - checkout trunk on ofbiz framework
>> 
>> - get example plugin and set it up inside plugins 
>> (https://github.com/gtchaboussie/ofbiz-demo-test-plugin)
>> 
>> at the ofbiz root location, run `./gradlew test`. The build should fail 
>> (this means the test in the plugin is runned) with this error:
>> 
>> ```
>> 
>> org.test.TestClass > test FAILED
>>     java.lang.AssertionError at TestClass.java:9
>> 
>> ```
>> 
>> This gives you a template or example of a unit test.
>> 
>> As you can see, you should not have to update anything on the base framework 
>> for your tests yo be runned.
>> 
>> Also, could you share your OS and OFBiz version ?
>> 
>> Regards,
>> 
>> Gaetan
>> 
>> On 6/10/24 19:13, Carsten Schinzer wrote:
>>> Hello Gaetan,
>>> 
>>> 
>>> I do all this as you describe, source path for tests is as required and
>>> tests are properly annotated.
>>> The main difference is that this is not a unit test out of a framework, but
>>> unit tests sitting in a plugin component.
>>> 
>>> I so not see any traces of the framework stepping into my test directories
>>> when executing test (I ran .gradlew test —info to get more info).
>>> 
>>> IMO something is probably missing in my build.gradle:
>>> 
>>> /*…*/
>>> 
>>> dependencies {
>>>      // information: the ofbiz:release22.01 is on
>>> jakarta.ws.rs:jakarta.ws.rs-api:2.1.6
>>>      pluginLibsCompile 'org.glassfish.jersey.inject:jersey-hk2:2.31'
>>>      pluginLibsCompile
>>> 'org.glassfish.jersey.containers:jersey-container-servlet:2.31'
>>>      pluginLibsCompile
>>> 'org.glassfish.jersey.media:jersey-media-json-jackson:2.31'
>>>      pluginLibsCompile 'javax.json:javax.json-api:1.1.4'
>>>      pluginLibsCompile 'jakarta.inject:jakarta.inject-api:2.0.1'
>>>      pluginLibsCompile 'jakarta.ws.rs:jakarta.ws.rs-api:2.1.6'
>>>      pluginLibsCompile 
>>> 'com.fasterxml.jackson.core:jackson-annotations:2.16.1'
>>>      pluginLibsCompile 'com.fasterxml.jackson.core:jackson-core:2.16.1'
>>>      pluginLibsCompile 'com.fasterxml.jackson.core:jackson-databind:2.16.1'
>>>      pluginLibsCompile
>>> 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.16.1'
>>>      // Swagger Annotations for OpenAPI
>>>      pluginLibsCompile 'io.swagger.core.v3:swagger-annotations:2.2.20'
>>>      // Swagger JAX-RS Integration for OpenAPI
>>>      pluginLibsCompile 'io.swagger.core.v3:swagger-jaxrs2:2.2.20'
>>>      // Swagger UI
>>>      pluginLibsCompile 'org.webjars:swagger-ui:4.1.3'
>>>      // Junit core, api and parameterization
>>>      pluginLibsCompile 'org.junit.jupiter:junit-jupiter:5.10.0'
>>>      pluginLibsCompile 'org.junit.jupiter:junit-jupiter-api:5.10.0'
>>>      pluginLibsCompile 'org.junit.jupiter:junit-jupiter-params:5.10.0'
>>> }
>>> 
>>> task install {
>>>      doLast {
>>>          // Install logic for this plugin
>>>      }
>>> }
>>> 
>>> task uninstall {
>>>      doLast {
>>>          // uninstall logic for this plugin
>>>      }
>>> }
>>> 
>>> 
>>> I have dependencies on JUnit 5 since I want to use the ParameterizedTest
>>> feature available there. Maybe that is the issue. I also cannot find a
>>> passing build when stating these dependencies as pluginCompileOnly either.
>>> 
>>> So almost certainly this is rather a hook into the test executionon grade
>>> side, WDYT?
>>> 
>>> Thanks for your comments so far!
>>> Warm regards
>>> 
>>> 
>>> Carsten
>>> 
>>> 
>>> Am 10.06.2024 um 17:54 schrieb Gaetan <gaetan.chabous...@nereide.fr>:
>>> 
>>> Hi again,
>>> 
>>> After some research, it seems you should follow this kind of structure for
>>> your unit tests :
>>> 
>>> https://github.com/apache/ofbiz-framework/blob/7c2487bc3f1a6ec472585c27d7ceb5ca19471387/build.gradle#L259
>>>  
>>> 
>>> So you should setup your tests at the right package (either groovy or java
>>> according to build instructions) and add the test decorator like this
>>> example
>>> 
>>> https://github.com/apache/ofbiz-framework/blob/7c2487bc3f1a6ec472585c27d7ceb5ca19471387/framework/base/src/test/java/org/apache/ofbiz/base/container/ComponentContainerTest.java#L63
>>>  
>>> 
>>> Please let me know if you encounter any more trouble !
>>> 
>>> Regards
>>> 
>>> Gaetan
>>> 
>>> On 6/10/24 16:55, Carsten Schinzer wrote:
>>> 
>>> … and after some more assertions, I can add:
>>> I have verified the paths to all my test suites to point to the correct
>>> Java classes.
>>> I do not find any error in the test logs.
>>> I do find the classes in the build/classes/java/test directory.
>>> I do not find related test results at all.
>>> 
>>> An hint you can give me is appreciated!
>>> Warm regards
>>> 
>>> 
>>> Carsten
>>> 
>>> Am 10.06.2024 um 15:47 schrieb Carsten Schinzer <
>>> cars...@dcs-verkaufssysteme.de>:
>>> 
>>> Hello,
>>> 
>>> 
>>> You mean like this:
>>> 
>>> <test-suite loader="main" location="testdef/CdcTicketsTests.xml“/
>>> Yes, I think I did it well like that. no?
>>> Warm regards
>>> 
>>> 
>>> Carsten
>>> 
>>> 
>>> 
>>> Am 10.06.2024 um 09:17 schrieb Gaetan <gaetan.chabous...@nereide.fr>:
>>> 
>>> Hi Carsten, did you include your tests in the ofbiz-component file a the
>>> root of your plugin ?
>>> 
>>> Best regards
>>> 
>>> Gaetan
>>> 
>>> On 6/9/24 21:15, Carsten Schinzer wrote:
>>> 
>>> Hello all,
>>> 
>>> 
>>> I am looking for a reference to integrate my plugin unit tests into the
>>> test run of OfBiz, i.e. when I run
>>> 
>>> ./gradlew test
>>> 
>>> My defined test suite should be included and executed.
>>> 
>>> I did browse the official plugin repository and found no reference.
>>> 
>>> First issue: how to define the hook into the test task in build.gradle.
>>> Second: Ho to make sure, the build.gradle dependencies on JUnit are only
>>> loaded for test and not packaged.
>>> 
>>> Does anyone have an example possibly how to do this.
>>> 
>>> Thanks & warm regards
>>> 
>>> 
>>> Carsten
>>> 

Reply via email to