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 >>>