This is an automated email from the ASF dual-hosted git repository.

ashishvijaywargiya pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-plugins.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 0cf87bde7 JUnit3 to JUnit5(Jupiter) Runner Migration for OFBiz Test 
Cases/ Integration Tests - Migration of plugins test cases (#344)
0cf87bde7 is described below

commit 0cf87bde73e8ea92205375adf7fe58f005c4528d
Author: Ashish Vijaywargiya <[email protected]>
AuthorDate: Fri Jul 31 10:26:42 2026 +0530

    JUnit3 to JUnit5(Jupiter) Runner Migration for OFBiz Test Cases/ 
Integration Tests - Migration of plugins test cases (#344)
    
    JUnit3 to JUnit5(Jupiter) Runner Migration for OFBiz Test Cases/
    Integration Tests - Migration of plugins test cases
    
    1) Migrated the last 12 real (non-example) JUnit3 test files to Jupiter
    - assetmaint's FixedAssetMaintTests, ecommerce's OrderNotificationTests,
    lucene's LuceneTests, and all 10 scrum test files - dropping each file's
    (String name) constructor, implementing JupiterTestHelper instead of
    extending OFBizTestCase, annotating methods @Test, and moving sources
    from src/main to src/test to match the convention already used by other
    components' test files.
    
    2) Swapped each migrated file's testdef entry from <junit-test-suite> to
    <jupiter-test-suite> (assetmainttests.xml, EcommerceTest.xml,
    lucenetests.xml, scrumTests.xml), and reordered LuceneTests.java's
    assertion calls from JUnit3/4's (message, expected, actual) argument
    order to JUnit 5's (expected, actual, message).
    
    3) Added @Order to every @Test method in scrum's multi-method files,
    proven necessary because JUnit 5's own default ordering ran
    testAddSprintMember before testRemoveSprintMember and tripped a real,
    pre-existing de-dup check in assignPartyToWorkEffort on a stale,
    non-expiring WorkEffortPartyAssignment; files verified order-independent
    by inspection (assetmaint's FixedAssetMaintTests, ecommerce's
    OrderNotificationTests, lucene's single-method LuceneTests) were left
    without @Order.
    
    4) plugins/example gained a new ExampleJupiterTests.groovy
    (parameterized-test and @Disabled demo) wired through a new
    example-tests-jupiter test-case, kept side-by-side with the untouched
    JUnit 3 ExampleTests.groovy as the old/new reference pair; both branches
    were verified together with a full cleanAll/loadAll plus testIntegration
    run, with every suite passing, including all four migrated plugin suites
    - assetmainttests, ecommercetests, lucenetests, and scrumtests.
---
 .../assetmaint/test/FixedAssetMaintTests.groovy    | 15 ++--
 assetmaint/testdef/assetmainttests.xml             |  2 +-
 .../order/test/OrderNotificationTests.groovy       | 20 +++--
 ecommerce/testdef/EcommerceTest.xml                |  2 +-
 .../apache/ofbiz/example/test/ExampleTests.groovy  |  0
 .../test/jupiter/ExampleJupiterTests.groovy        | 86 ++++++++++++++++++++++
 example/testdef/tests.xml                          |  4 +
 .../org/apache/ofbiz/content/test/LuceneTests.java | 24 +++---
 lucene/testdef/lucenetests.xml                     |  2 +-
 .../scrum/test/DailyMeetingMinuteTests.groovy      | 12 +--
 .../org/apache/ofbiz/scrum/test/MyWorkTests.groovy | 24 ++++--
 .../ofbiz/scrum/test/ProductBacklogTests.groovy    | 34 +++++++--
 .../apache/ofbiz/scrum/test/ProductTests.groovy    | 18 +++--
 .../ofbiz/scrum/test/ScrumProjectTests.groovy      | 20 +++--
 .../org/apache/ofbiz/scrum/test/ScrumTests.groovy  | 12 +--
 .../ofbiz/scrum/test/SprintBacklogTests.groovy     | 20 +++--
 .../org/apache/ofbiz/scrum/test/SprintTests.groovy | 32 ++++++--
 .../org/apache/ofbiz/scrum/test/TaskTests.groovy   | 12 +--
 .../apache/ofbiz/scrum/test/TimesheetTests.groovy  | 12 +--
 scrum/testdef/scrumTests.xml                       | 20 ++---
 20 files changed, 274 insertions(+), 97 deletions(-)

diff --git 
a/assetmaint/src/main/groovy/org/apache/ofbiz/assetmaint/assetmaint/test/FixedAssetMaintTests.groovy
 
b/assetmaint/src/test/groovy/org/apache/ofbiz/assetmaint/assetmaint/test/FixedAssetMaintTests.groovy
similarity index 96%
rename from 
assetmaint/src/main/groovy/org/apache/ofbiz/assetmaint/assetmaint/test/FixedAssetMaintTests.groovy
rename to 
assetmaint/src/test/groovy/org/apache/ofbiz/assetmaint/assetmaint/test/FixedAssetMaintTests.groovy
index 071ee1d0b..ee97a2322 100644
--- 
a/assetmaint/src/main/groovy/org/apache/ofbiz/assetmaint/assetmaint/test/FixedAssetMaintTests.groovy
+++ 
b/assetmaint/src/test/groovy/org/apache/ofbiz/assetmaint/assetmaint/test/FixedAssetMaintTests.groovy
@@ -20,14 +20,14 @@ package org.apache.ofbiz.assetmaint.assetmaint.test
 
 import org.apache.ofbiz.base.util.UtilDateTime
 import org.apache.ofbiz.entity.GenericValue
-import org.apache.ofbiz.service.testtools.OFBizTestCase
+import org.apache.ofbiz.testtools.JunitJupiterTest
+import org.apache.ofbiz.testtools.JupiterTestHelper
+import org.junit.jupiter.api.Test
 
-class FixedAssetMaintTests extends OFBizTestCase {
-
-    public FixedAssetMaintTests(String name) {
-        super(name)
-    }
+@JunitJupiterTest
+class FixedAssetMaintTests implements JupiterTestHelper {
 
+    @Test
     void testCreateFixedAssetMaintUpdateWorkEffortWithProductMaint() {
         // Test case for service createFixedAssetMaintUpdateWorkEffort with a 
product Maintenance
         String fixedAssetId = 'DEMO_VEHICLE_01'
@@ -54,6 +54,8 @@ class FixedAssetMaintTests extends OFBizTestCase {
         assert workEffort.estimatedCompletionDate == 
serviceCtx.estimatedCompletionDate
         assert workEffort.actualStartDate == serviceCtx.actualStartDate
     }
+
+    @Test
     void testCreateFixedAssetMaintUpdateWorkEffortWithoutProductMaint() {
         // Test case for service createFixedAssetMaintUpdateWorkEffort without 
a product maintenance
         String fixedAssetId = 'DEMO_VEHICLE_01'
@@ -84,6 +86,7 @@ class FixedAssetMaintTests extends OFBizTestCase {
         assert workEffort.actualStartDate == serviceCtx.actualStartDate
     }
 
+    @Test
     void testUpdateFixedAssetMaintAndWorkEffort() {
         // Test case for service updateFixedAssetMaintAndWorkEffort
         String fixedAssetId = 'DEMO_VEHICLE_01'
diff --git a/assetmaint/testdef/assetmainttests.xml 
b/assetmaint/testdef/assetmainttests.xml
index 8300b0a05..31c48b915 100644
--- a/assetmaint/testdef/assetmainttests.xml
+++ b/assetmaint/testdef/assetmainttests.xml
@@ -23,6 +23,6 @@
         
xsi:noNamespaceSchemaLocation="https://ofbiz.apache.org/dtds/test-suite.xsd";>
 
 <test-case case-name="assetmaint-tests">
-        <junit-test-suite 
class-name="org.apache.ofbiz.assetmaint.assetmaint.test.FixedAssetMaintTests"/>
+        <jupiter-test-suite 
class-name="org.apache.ofbiz.assetmaint.assetmaint.test.FixedAssetMaintTests"/>
     </test-case>
 </test-suite>
diff --git 
a/ecommerce/src/main/groovy/org/apache/ofbiz/ecommerce/order/test/OrderNotificationTests.groovy
 
b/ecommerce/src/test/groovy/org/apache/ofbiz/ecommerce/order/test/OrderNotificationTests.groovy
similarity index 91%
rename from 
ecommerce/src/main/groovy/org/apache/ofbiz/ecommerce/order/test/OrderNotificationTests.groovy
rename to 
ecommerce/src/test/groovy/org/apache/ofbiz/ecommerce/order/test/OrderNotificationTests.groovy
index 60b6653c3..0d9a3e0d2 100644
--- 
a/ecommerce/src/main/groovy/org/apache/ofbiz/ecommerce/order/test/OrderNotificationTests.groovy
+++ 
b/ecommerce/src/test/groovy/org/apache/ofbiz/ecommerce/order/test/OrderNotificationTests.groovy
@@ -19,14 +19,14 @@
 package org.apache.ofbiz.ecommerce.order.test
 
 import org.apache.ofbiz.service.ServiceUtil
-import org.apache.ofbiz.service.testtools.OFBizTestCase
+import org.apache.ofbiz.testtools.JunitJupiterTest
+import org.apache.ofbiz.testtools.JupiterTestHelper
+import org.junit.jupiter.api.Test
 
-class OrderNotificationTests extends OFBizTestCase {
-
-    public OrderNotificationTests(String name) {
-        super(name)
-    }
+@JunitJupiterTest
+class OrderNotificationTests implements JupiterTestHelper {
 
+    @Test
     void testSendOrderConfirmation() {
         Map serviceCtx = [
             orderId: 'TEST_DEMO10090',
@@ -37,6 +37,8 @@ class OrderNotificationTests extends OFBizTestCase {
         assert ServiceUtil.isSuccess(serviceResult)
         assert serviceResult.emailType == 'PRDS_ODR_CONFIRM'
     }
+
+    @Test
     void testSendOrderChangeNotification() {
         Map serviceCtx = [
             orderId: 'TEST_DEMO10090',
@@ -49,6 +51,8 @@ class OrderNotificationTests extends OFBizTestCase {
         assert ServiceUtil.isSuccess(serviceResult)
         assert serviceResult.emailType == 'PRDS_ODR_CHANGE'
     }
+
+    @Test
     void testSendOrderBackorderNotification() {
         Map serviceCtx = [
             orderId: 'TEST_DEMO10090',
@@ -59,6 +63,8 @@ class OrderNotificationTests extends OFBizTestCase {
         assert ServiceUtil.isSuccess(serviceResult)
         assert serviceResult.emailType == 'PRDS_ODR_BACKORDER'
     }
+
+    @Test
     void testsendOrderPayRetryNotification() {
         Map serviceCtx = [
             orderId: 'TEST_DEMO10090',
@@ -69,6 +75,8 @@ class OrderNotificationTests extends OFBizTestCase {
         assert ServiceUtil.isSuccess(serviceResult)
         assert serviceResult.emailType == 'PRDS_ODR_PAYRETRY'
     }
+
+    @Test
     void testsendOrderCompleteNotification() {
         Map serviceCtx = [
             orderId: 'TEST_DEMO10090',
diff --git a/ecommerce/testdef/EcommerceTest.xml 
b/ecommerce/testdef/EcommerceTest.xml
index 3408ccc8e..efc58390c 100644
--- a/ecommerce/testdef/EcommerceTest.xml
+++ b/ecommerce/testdef/EcommerceTest.xml
@@ -25,6 +25,6 @@ under the License.
         <entity-xml action="load" 
entity-xml-url="component://order/testdef/data/OrderTestData.xml"/>
     </test-case>
     <test-case case-name="ecommerce-notification-tests">
-        <junit-test-suite 
class-name="org.apache.ofbiz.ecommerce.order.test.OrderNotificationTests"/>
+        <jupiter-test-suite 
class-name="org.apache.ofbiz.ecommerce.order.test.OrderNotificationTests"/>
     </test-case>
 </test-suite>
diff --git 
a/example/src/main/groovy/org/apache/ofbiz/example/test/ExampleTests.groovy 
b/example/src/test/groovy/org/apache/ofbiz/example/test/ExampleTests.groovy
similarity index 100%
rename from 
example/src/main/groovy/org/apache/ofbiz/example/test/ExampleTests.groovy
rename to 
example/src/test/groovy/org/apache/ofbiz/example/test/ExampleTests.groovy
diff --git 
a/example/src/test/groovy/org/apache/ofbiz/example/test/jupiter/ExampleJupiterTests.groovy
 
b/example/src/test/groovy/org/apache/ofbiz/example/test/jupiter/ExampleJupiterTests.groovy
new file mode 100644
index 000000000..7e4b74be1
--- /dev/null
+++ 
b/example/src/test/groovy/org/apache/ofbiz/example/test/jupiter/ExampleJupiterTests.groovy
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.ofbiz.example.test.jupiter
+
+import org.apache.ofbiz.entity.GenericValue
+import org.apache.ofbiz.service.ServiceUtil
+import org.apache.ofbiz.testtools.JunitJupiterTest
+import org.apache.ofbiz.testtools.JupiterTestHelper
+import org.junit.jupiter.api.Disabled
+import org.junit.jupiter.api.Test
+import org.junit.jupiter.params.ParameterizedTest
+import org.junit.jupiter.params.provider.CsvSource
+
+/**
+ * Jupiter test-cases run through testdef's jupiter-test-suite element (see 
plugins/example/testdef/tests.xml),
+ * side-by-side with org.apache.ofbiz.example.test.ExampleTests in the same 
test-suite. Runs inside the full
+ * ofbiz --test container, so JupiterTestExtension injects the suite's own 
Delegator/LocalDispatcher.
+ * Implementing JupiterTestHelper needs no field declarations, yet Groovy's 
getter-as-property syntax still
+ * exposes them as bare delegator/dispatcher (backed by JupiterTestHelper's 
getDelegator()/getDispatcher()),
+ * so call sites read exactly like the old field-injection style - 
delegator.findOne(...), dispatcher.runSync(...).
+ *
+ * <p>Demonstrates a {@code @ParameterizedTest} with real CSV-driven 
invocations, and a
+ * {@code @Disabled} test that shows up as a logged, reportable skip instead 
of silently disappearing.
+ */
+@JunitJupiterTest
+class ExampleJupiterTests implements JupiterTestHelper {
+
+    @Test
+    void shouldCreateExample() {
+        GenericValue userLogin = delegator.findOne('UserLogin', [userLoginId: 
'system'], false)
+        Map<String, Object> result = dispatcher.runSync('createExample', [
+                exampleTypeId: 'CONTRIVED',
+                exampleName: 'Test Example - Integration',
+                statusId: 'EXST_IN_DESIGN',
+                userLogin: userLogin
+        ])
+        assert ServiceUtil.isSuccess(result)
+
+        GenericValue example = from('Example').where('exampleId', 
result.exampleId).queryOne()
+        assert example != null
+        assert example.exampleTypeId == 'CONTRIVED'
+    }
+
+    @ParameterizedTest(name = '[{index}] exampleTypeId={0}')
+    @CsvSource([
+            'CONTRIVED',
+            'INSPIRED',
+            'REAL_WORLD',
+            'MADE_UP'
+    ])
+    void shouldCreateExampleAcrossTypes(String exampleTypeId) {
+        GenericValue userLogin = delegator.findOne('UserLogin', [userLoginId: 
'system'], false)
+        Map<String, Object> result = dispatcher.runSync('createExample', [
+                exampleTypeId: exampleTypeId,
+                exampleName: 'Test Example - ' + exampleTypeId,
+                statusId: 'EXST_IN_DESIGN',
+                userLogin: userLogin
+        ])
+        assert ServiceUtil.isSuccess(result)
+    }
+
+    @Disabled('OFBIZ-XXXXX: sample only - demonstrates a documented, 
reportable skip; not a real defect')
+    @Test
+    void shouldUpdateExampleUnderConcurrentLoad() {
+        GenericValue userLogin = delegator.findOne('UserLogin', [userLoginId: 
'system'], false)
+        Map<String, Object> result = dispatcher.runSync('updateExample', 
[exampleId: 'TestExampleUpdate', userLogin: userLogin])
+        assert ServiceUtil.isSuccess(result)
+    }
+
+}
diff --git a/example/testdef/tests.xml b/example/testdef/tests.xml
index c775ca861..b2189bd68 100644
--- a/example/testdef/tests.xml
+++ b/example/testdef/tests.xml
@@ -33,4 +33,8 @@ under the License.
     <test-case case-name="example-tests-groovy">
         <junit-test-suite 
class-name="org.apache.ofbiz.example.test.ExampleTests"/>
     </test-case>
+
+    <test-case case-name="example-tests-jupiter">
+        <jupiter-test-suite 
class-name="org.apache.ofbiz.example.test.jupiter.ExampleJupiterTests"/>
+    </test-case>
 </test-suite>
diff --git 
a/lucene/src/main/java/org/apache/ofbiz/content/test/LuceneTests.java 
b/lucene/src/test/java/org/apache/ofbiz/content/test/LuceneTests.java
similarity index 84%
rename from lucene/src/main/java/org/apache/ofbiz/content/test/LuceneTests.java
rename to lucene/src/test/java/org/apache/ofbiz/content/test/LuceneTests.java
index 1026d3138..f9675b5f1 100644
--- a/lucene/src/main/java/org/apache/ofbiz/content/test/LuceneTests.java
+++ b/lucene/src/test/java/org/apache/ofbiz/content/test/LuceneTests.java
@@ -19,6 +19,10 @@
 
 package org.apache.ofbiz.content.test;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
+
 import java.io.File;
 import java.util.HashMap;
 import java.util.Map;
@@ -37,24 +41,20 @@ import org.apache.lucene.store.FSDirectory;
 import org.apache.ofbiz.base.util.Debug;
 import org.apache.ofbiz.content.search.SearchWorker;
 import org.apache.ofbiz.service.ServiceUtil;
-import org.apache.ofbiz.service.testtools.OFBizTestCase;
+import org.apache.ofbiz.testtools.JunitJupiterTest;
+import org.apache.ofbiz.testtools.JupiterTestHelper;
+import org.junit.jupiter.api.Test;
 
-public class LuceneTests extends OFBizTestCase {
+@JunitJupiterTest
+public class LuceneTests implements JupiterTestHelper {
 
     private static final String MODULE = LuceneTests.class.getName();
 
-    public LuceneTests(String name) {
-        super(name);
-    }
-
-    @Override
-    protected void tearDown() throws Exception {
-    }
-
     /**
      * Test search term hand.
      * @throws Exception the exception
      */
+    @Test
     public void testSearchTermHand() throws Exception {
         Map<String, Object> ctx = new HashMap<>();
         ctx.put("contentId", "LuceneCONTENT");
@@ -64,7 +64,7 @@ public class LuceneTests extends OFBizTestCase {
             String errorMessage = ServiceUtil.getErrorMessage(resp);
             throw new Exception(errorMessage);
         }
-        assertTrue("Could not init search index", ServiceUtil.isSuccess(resp));
+        assertTrue(ServiceUtil.isSuccess(resp), "Could not init search index");
 
         try {
             Thread.sleep(3000); // sleep 3 seconds to give enough time to the 
indexer to process the entries
@@ -94,6 +94,6 @@ public class LuceneTests extends OFBizTestCase {
 
         TopDocs topDocs = searcher.search(combQuery, 10);
 
-        assertEquals("Only 1 result expected from the testdata", 1, (int) 
topDocs.totalHits.value);
+        assertEquals(1, (int) topDocs.totalHits.value, "Only 1 result expected 
from the testdata");
     }
 }
diff --git a/lucene/testdef/lucenetests.xml b/lucene/testdef/lucenetests.xml
index 722fb02fc..4a9d4868f 100644
--- a/lucene/testdef/lucenetests.xml
+++ b/lucene/testdef/lucenetests.xml
@@ -26,6 +26,6 @@ under the License.
         <entity-xml action="load" 
entity-xml-url="component://lucene/testdef/data/LuceneTestsData.xml"/>
     </test-case>
 
-    <test-case case-name="lucene-tests"><junit-test-suite 
class-name="org.apache.ofbiz.content.test.LuceneTests"/></test-case>
+    <test-case case-name="lucene-tests"><jupiter-test-suite 
class-name="org.apache.ofbiz.content.test.LuceneTests"/></test-case>
 
 </test-suite>
diff --git 
a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/DailyMeetingMinuteTests.groovy
 
b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/DailyMeetingMinuteTests.groovy
similarity index 88%
rename from 
scrum/src/main/groovy/org/apache/ofbiz/scrum/test/DailyMeetingMinuteTests.groovy
rename to 
scrum/src/test/groovy/org/apache/ofbiz/scrum/test/DailyMeetingMinuteTests.groovy
index 9cef8cf94..c11bffcd9 100644
--- 
a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/DailyMeetingMinuteTests.groovy
+++ 
b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/DailyMeetingMinuteTests.groovy
@@ -19,17 +19,17 @@
 package org.apache.ofbiz.scrum.test
 
 import org.apache.ofbiz.service.ServiceUtil
-import org.apache.ofbiz.service.testtools.OFBizTestCase
+import org.apache.ofbiz.testtools.JunitJupiterTest
+import org.apache.ofbiz.testtools.JupiterTestHelper
+import org.junit.jupiter.api.Test
 
-class DailyMeetingMinuteTests extends OFBizTestCase {
-
-    DailyMeetingMinuteTests(String name) {
-        super(name)
-    }
+@JunitJupiterTest
+class DailyMeetingMinuteTests implements JupiterTestHelper {
 
     // Migrated from DailyMeetingMinuteTests.xml:testDailyMinute
     // Original called createDailyNote event in ScrumEvents.xml which creates 
NoteData + WorkEffortNote.
     // Equivalent: call createWorkEffortNote service which does the same.
+    @Test
     void testDailyMinute() {
         Map serviceCtx = [
                 workEffortId: 'DEMO-SPRINT-1',
diff --git 
a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/MyWorkTests.groovy 
b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/MyWorkTests.groovy
similarity index 92%
rename from scrum/src/main/groovy/org/apache/ofbiz/scrum/test/MyWorkTests.groovy
rename to scrum/src/test/groovy/org/apache/ofbiz/scrum/test/MyWorkTests.groovy
index 889f48393..3c7633ad4 100644
--- a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/MyWorkTests.groovy
+++ b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/MyWorkTests.groovy
@@ -21,15 +21,17 @@ package org.apache.ofbiz.scrum.test
 import org.apache.ofbiz.entity.GenericValue
 import org.apache.ofbiz.entity.util.EntityQuery
 import org.apache.ofbiz.service.ServiceUtil
-import org.apache.ofbiz.service.testtools.OFBizTestCase
+import org.apache.ofbiz.testtools.JunitJupiterTest
+import org.apache.ofbiz.testtools.JupiterTestHelper
+import org.junit.jupiter.api.Order
+import org.junit.jupiter.api.Test
 
-class MyWorkTests extends OFBizTestCase {
-
-    MyWorkTests(String name) {
-        super(name)
-    }
+@JunitJupiterTest
+class MyWorkTests implements JupiterTestHelper {
 
     // Migrated from 
MyWorkTests.xml:testUpdateTimesheetEntryByWorkeffortNotComplete
+    @Test
+    @Order(1)
     void testUpdateTimesheetEntryByWorkeffortNotComplete() {
         Map serviceCtx = [
                 timesheetId: 'DEMO-TIMESHEET1',
@@ -45,6 +47,8 @@ class MyWorkTests extends OFBizTestCase {
     }
 
     // Migrated from 
MyWorkTests.xml:testUpdateTimesheetEntryByWorkeffortComplete
+    @Test
+    @Order(2)
     void testUpdateTimesheetEntryByWorkeffortComplete() {
         Map serviceCtx = [
                 timesheetId: 'DEMO-TIMESHEET1',
@@ -61,6 +65,8 @@ class MyWorkTests extends OFBizTestCase {
 
     // Migrated from MyWorkTests.xml:testUpdateTask
     // Original called updateTask event in ScrumEvents.xml which internally 
calls updateWorkEffort.
+    @Test
+    @Order(3)
     void testUpdateTask() {
         Map serviceCtx = [
                 workEffortId: 'DEMO-TASK-2',
@@ -72,6 +78,8 @@ class MyWorkTests extends OFBizTestCase {
     }
 
     // Migrated from MyWorkTests.xml:testRemoveTaskAssignToMe
+    @Test
+    @Order(4)
     void testRemoveTaskAssignToMe() {
         List<GenericValue> listWorkAssignment = 
EntityQuery.use(delegator).from('WorkEffortPartyAssignment')
                 .where('workEffortId', 'DEMO-TASK-2',
@@ -93,6 +101,8 @@ class MyWorkTests extends OFBizTestCase {
     }
 
     // Migrated from MyWorkTests.xml:testAddNewTimesheet
+    @Test
+    @Order(5)
     void testAddNewTimesheet() {
         Map serviceCtx = [
                 partyId: 'SCRUMTEAM-2',
@@ -106,6 +116,8 @@ class MyWorkTests extends OFBizTestCase {
     }
 
     // Migrated from MyWorkTests.xml:testSetTimeSheetStatusToComplete
+    @Test
+    @Order(6)
     void testSetTimeSheetStatusToComplete() {
         Map serviceCtx = [
                 timesheetId: 'DEMO-TIMESHEET2',
diff --git 
a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/ProductBacklogTests.groovy 
b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/ProductBacklogTests.groovy
similarity index 95%
rename from 
scrum/src/main/groovy/org/apache/ofbiz/scrum/test/ProductBacklogTests.groovy
rename to 
scrum/src/test/groovy/org/apache/ofbiz/scrum/test/ProductBacklogTests.groovy
index e9514e0d4..7d7c8cf4c 100644
--- 
a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/ProductBacklogTests.groovy
+++ 
b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/ProductBacklogTests.groovy
@@ -20,14 +20,16 @@ package org.apache.ofbiz.scrum.test
 
 import org.apache.ofbiz.entity.GenericValue
 import org.apache.ofbiz.service.ServiceUtil
-import org.apache.ofbiz.service.testtools.OFBizTestCase
+import org.apache.ofbiz.testtools.JunitJupiterTest
+import org.apache.ofbiz.testtools.JupiterTestHelper
+import org.junit.jupiter.api.Order
+import org.junit.jupiter.api.Test
 
-class ProductBacklogTests extends OFBizTestCase {
-
-    ProductBacklogTests(String name) {
-        super(name)
-    }
+@JunitJupiterTest
+class ProductBacklogTests implements JupiterTestHelper {
 
+    @Test
+    @Order(1)
     void testAdminOperations() {
         GenericValue adminUserLogin = from('UserLogin').where('userLoginId', 
'admin').queryOne()
         assert adminUserLogin
@@ -69,6 +71,8 @@ class ProductBacklogTests extends OFBizTestCase {
         }
     }
 
+    @Test
+    @Order(2)
     void testProductOwnerOperations() {
         GenericValue poUserLogin = from('UserLogin').where('userLoginId', 
'productowner').queryOne()
         assert poUserLogin
@@ -110,6 +114,8 @@ class ProductBacklogTests extends OFBizTestCase {
         }
     }
 
+    @Test
+    @Order(3)
     void testScrumMasterOperations() {
         GenericValue smUserLogin = from('UserLogin').where('userLoginId', 
'scrummaster').queryOne()
         assert smUserLogin
@@ -137,6 +143,8 @@ class ProductBacklogTests extends OFBizTestCase {
         assert ServiceUtil.isSuccess(deleteResult)
     }
 
+    @Test
+    @Order(4)
     void testCreateBacklogSetStatus() {
         GenericValue poUserLogin = from('UserLogin').where('userLoginId', 
'productowner').queryOne()
         Map serviceCtx = [
@@ -152,6 +160,8 @@ class ProductBacklogTests extends OFBizTestCase {
         assert ServiceUtil.isSuccess(serviceResult)
     }
 
+    @Test
+    @Order(5)
     void testCreateDefaultBacklogs() {
         GenericValue adminUserLogin = from('UserLogin').where('userLoginId', 
'admin').queryOne()
         Map serviceCtx = [
@@ -166,6 +176,8 @@ class ProductBacklogTests extends OFBizTestCase {
         assert ServiceUtil.isSuccess(serviceResult)
     }
 
+    @Test
+    @Order(6)
     void testProductBacklogCategoryOperations() {
         GenericValue adminUserLogin = from('UserLogin').where('userLoginId', 
'admin').queryOne()
 
@@ -199,6 +211,8 @@ class ProductBacklogTests extends OFBizTestCase {
         assert ServiceUtil.isSuccess(updateResult)
     }
 
+    @Test
+    @Order(7)
     void testProductBacklogEmailOperations() {
         GenericValue systemUserLogin = from('UserLogin').where('userLoginId', 
'system').queryOne()
 
@@ -228,6 +242,8 @@ class ProductBacklogTests extends OFBizTestCase {
         assert ServiceUtil.isSuccess(updateResult)
     }
 
+    @Test
+    @Order(8)
     void testUpdateSprintBacklogseqDown() {
         GenericValue systemUserLogin = from('UserLogin').where('userLoginId', 
'system').queryOne()
         Map serviceCtx = [
@@ -243,6 +259,8 @@ class ProductBacklogTests extends OFBizTestCase {
         assert ServiceUtil.isSuccess(serviceResult)
     }
 
+    @Test
+    @Order(9)
     void testUpdateSprintBacklogseqUP() {
         GenericValue systemUserLogin = from('UserLogin').where('userLoginId', 
'system').queryOne()
         Map serviceCtx = [
@@ -258,6 +276,8 @@ class ProductBacklogTests extends OFBizTestCase {
         assert ServiceUtil.isSuccess(serviceResult)
     }
 
+    @Test
+    @Order(10)
     void testUpdateSprintBacklogseqBotton() {
         GenericValue systemUserLogin = from('UserLogin').where('userLoginId', 
'system').queryOne()
         Map serviceCtx = [
@@ -273,6 +293,8 @@ class ProductBacklogTests extends OFBizTestCase {
         assert ServiceUtil.isSuccess(serviceResult)
     }
 
+    @Test
+    @Order(11)
     void testUpdateSprintBacklogseqTOP() {
         GenericValue systemUserLogin = from('UserLogin').where('userLoginId', 
'system').queryOne()
         Map serviceCtx = [
diff --git 
a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/ProductTests.groovy 
b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/ProductTests.groovy
similarity index 93%
rename from 
scrum/src/main/groovy/org/apache/ofbiz/scrum/test/ProductTests.groovy
rename to scrum/src/test/groovy/org/apache/ofbiz/scrum/test/ProductTests.groovy
index 0610bc641..2a0238454 100644
--- a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/ProductTests.groovy
+++ b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/ProductTests.groovy
@@ -21,15 +21,17 @@ package org.apache.ofbiz.scrum.test
 import org.apache.ofbiz.base.util.UtilDateTime
 import org.apache.ofbiz.entity.GenericValue
 import org.apache.ofbiz.service.ServiceUtil
-import org.apache.ofbiz.service.testtools.OFBizTestCase
+import org.apache.ofbiz.testtools.JunitJupiterTest
+import org.apache.ofbiz.testtools.JupiterTestHelper
+import org.junit.jupiter.api.Order
+import org.junit.jupiter.api.Test
 import java.sql.Timestamp
 
-class ProductTests extends OFBizTestCase {
-
-    ProductTests(String name) {
-        super(name)
-    }
+@JunitJupiterTest
+class ProductTests implements JupiterTestHelper {
 
+    @Test
+    @Order(1)
     void testCreateProductByAdmin() {
         GenericValue adminUserLogin = from('UserLogin').where('userLoginId', 
'admin').queryOne()
         assert adminUserLogin
@@ -56,6 +58,8 @@ class ProductTests extends OFBizTestCase {
         assert ServiceUtil.isSuccess(roleResult)
     }
 
+    @Test
+    @Order(2)
     void testUpdateProductByAdmin() {
         GenericValue adminUserLogin = from('UserLogin').where('userLoginId', 
'admin').queryOne()
         assert adminUserLogin
@@ -82,6 +86,8 @@ class ProductTests extends OFBizTestCase {
         // We ensure the test passes by checking it doesn't hard fail if it's 
already there.
     }
 
+    @Test
+    @Order(3)
     void testAddProductTimeToNewInvoice() {
         GenericValue adminUserLogin = from('UserLogin').where('userLoginId', 
'admin').queryOne()
         assert adminUserLogin
diff --git 
a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/ScrumProjectTests.groovy 
b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/ScrumProjectTests.groovy
similarity index 91%
rename from 
scrum/src/main/groovy/org/apache/ofbiz/scrum/test/ScrumProjectTests.groovy
rename to 
scrum/src/test/groovy/org/apache/ofbiz/scrum/test/ScrumProjectTests.groovy
index 161137bcc..bcaf822b6 100644
--- a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/ScrumProjectTests.groovy
+++ b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/ScrumProjectTests.groovy
@@ -19,16 +19,18 @@
 package org.apache.ofbiz.scrum.test
 
 import org.apache.ofbiz.service.ServiceUtil
-import org.apache.ofbiz.service.testtools.OFBizTestCase
+import org.apache.ofbiz.testtools.JunitJupiterTest
+import org.apache.ofbiz.testtools.JupiterTestHelper
+import org.junit.jupiter.api.Order
+import org.junit.jupiter.api.Test
 
-class ScrumProjectTests extends OFBizTestCase {
-
-    ScrumProjectTests(String name) {
-        super(name)
-    }
+@JunitJupiterTest
+class ScrumProjectTests implements JupiterTestHelper {
 
     // Migrated from ScrumProjectTests.xml:testCreateScrumProjectByProductOwner
     // Original called createScrumProject event which internally calls 
createWorkEffort service.
+    @Test
+    @Order(1)
     void testCreateScrumProjectByProductOwner() {
         Map serviceCtx = [
                 workEffortId: 'TEST_WE_006',
@@ -42,6 +44,8 @@ class ScrumProjectTests extends OFBizTestCase {
     }
 
     // Migrated from ScrumProjectTests.xml:testUpdateScrumProjectByProductOwner
+    @Test
+    @Order(2)
     void testUpdateScrumProjectByProductOwner() {
         Map createCtx = [
                 workEffortId: 'TEST_WE_007',
@@ -64,6 +68,8 @@ class ScrumProjectTests extends OFBizTestCase {
     }
 
     // Migrated from ScrumProjectTests.xml:testUpdateScrumProjectByScrumMaster
+    @Test
+    @Order(3)
     void testUpdateScrumProjectByScrumMaster() {
         Map createCtx = [
                 workEffortId: 'TEST_WE_008',
@@ -86,6 +92,8 @@ class ScrumProjectTests extends OFBizTestCase {
     }
 
     // Migrated from ScrumProjectTests.xml:testCloseScrumProject
+    @Test
+    @Order(4)
     void testCloseScrumProject() {
         Map serviceCtx = [
                 workEffortId: 'DEMO-PROJECT-1',
diff --git 
a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/ScrumTests.groovy 
b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/ScrumTests.groovy
similarity index 87%
rename from scrum/src/main/groovy/org/apache/ofbiz/scrum/test/ScrumTests.groovy
rename to scrum/src/test/groovy/org/apache/ofbiz/scrum/test/ScrumTests.groovy
index 5233768dd..e16d802b2 100644
--- a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/ScrumTests.groovy
+++ b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/ScrumTests.groovy
@@ -20,15 +20,15 @@ package org.apache.ofbiz.scrum.test
 
 import org.apache.ofbiz.entity.GenericValue
 import org.apache.ofbiz.entity.util.EntityQuery
-import org.apache.ofbiz.service.testtools.OFBizTestCase
+import org.apache.ofbiz.testtools.JunitJupiterTest
+import org.apache.ofbiz.testtools.JupiterTestHelper
+import org.junit.jupiter.api.Test
 
-class ScrumTests extends OFBizTestCase {
-
-    ScrumTests(String name) {
-        super(name)
-    }
+@JunitJupiterTest
+class ScrumTests implements JupiterTestHelper {
 
     // Migrated from ScrumTests.xml:testFindProjectWithSearchParameters
+    @Test
     void testFindProjectWithSearchParameters() {
         List<GenericValue> workEffortList = 
EntityQuery.use(delegator).from('WorkEffort')
                 .where('workEffortTypeId', 'SCRUM_PROJECT')
diff --git 
a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/SprintBacklogTests.groovy 
b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/SprintBacklogTests.groovy
similarity index 89%
rename from 
scrum/src/main/groovy/org/apache/ofbiz/scrum/test/SprintBacklogTests.groovy
rename to 
scrum/src/test/groovy/org/apache/ofbiz/scrum/test/SprintBacklogTests.groovy
index 8ac9dfff3..3f363f5dd 100644
--- 
a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/SprintBacklogTests.groovy
+++ 
b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/SprintBacklogTests.groovy
@@ -19,16 +19,18 @@
 package org.apache.ofbiz.scrum.test
 
 import org.apache.ofbiz.service.ServiceUtil
-import org.apache.ofbiz.service.testtools.OFBizTestCase
+import org.apache.ofbiz.testtools.JunitJupiterTest
+import org.apache.ofbiz.testtools.JupiterTestHelper
+import org.junit.jupiter.api.Order
+import org.junit.jupiter.api.Test
 
-class SprintBacklogTests extends OFBizTestCase {
-
-    SprintBacklogTests(String name) {
-        super(name)
-    }
+@JunitJupiterTest
+class SprintBacklogTests implements JupiterTestHelper {
 
     // Migrated from SprintBacklogTests.xml:testcreateSprintBacklogByAdmin
     // Original called createSprintBacklog event which internally calls 
createWorkEffortRequest service.
+    @Test
+    @Order(1)
     void testCreateSprintBacklogByAdmin() {
         Map serviceCtx = [
                 custRequestId: 'TEST5',
@@ -41,6 +43,8 @@ class SprintBacklogTests extends OFBizTestCase {
     }
 
     // Migrated from 
SprintBacklogTests.xml:testcreateSprintBacklogByScrummaster
+    @Test
+    @Order(2)
     void testCreateSprintBacklogByScrummaster() {
         Map serviceCtx = [
                 custRequestId: 'TEST6',
@@ -53,6 +57,8 @@ class SprintBacklogTests extends OFBizTestCase {
     }
 
     // Migrated from SprintBacklogTests.xml:testdeleteSprintBacklogByAdmin
+    @Test
+    @Order(3)
     void testDeleteSprintBacklogByAdmin() {
         Map serviceCtx = [
                 custRequestId: 'TEST1',
@@ -65,6 +71,8 @@ class SprintBacklogTests extends OFBizTestCase {
     }
 
     // Migrated from 
SprintBacklogTests.xml:testdeleteSprintBacklogByScurmmaster
+    @Test
+    @Order(4)
     void testDeleteSprintBacklogByScrummaster() {
         Map serviceCtx = [
                 custRequestId: 'TEST2',
diff --git 
a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/SprintTests.groovy 
b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/SprintTests.groovy
similarity index 84%
rename from scrum/src/main/groovy/org/apache/ofbiz/scrum/test/SprintTests.groovy
rename to scrum/src/test/groovy/org/apache/ofbiz/scrum/test/SprintTests.groovy
index e13fa02ba..bcb00356a 100644
--- a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/SprintTests.groovy
+++ b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/SprintTests.groovy
@@ -19,15 +19,17 @@
 package org.apache.ofbiz.scrum.test
 
 import org.apache.ofbiz.service.ServiceUtil
-import org.apache.ofbiz.service.testtools.OFBizTestCase
+import org.apache.ofbiz.testtools.JunitJupiterTest
+import org.apache.ofbiz.testtools.JupiterTestHelper
+import org.junit.jupiter.api.Order
+import org.junit.jupiter.api.Test
 
-class SprintTests extends OFBizTestCase {
-
-    SprintTests(String name) {
-        super(name)
-    }
+@JunitJupiterTest
+class SprintTests implements JupiterTestHelper {
 
     // Migrated from SprintTests.xml:testUpdateSprintBacklog
+    @Test
+    @Order(1)
     void testUpdateSprintBacklog() {
         Map serviceCtx = [
                 custRequestId: 'TEST9',
@@ -39,12 +41,16 @@ class SprintTests extends OFBizTestCase {
     }
 
     // Migrated from SprintTests.xml:testCreateSprintByScrummaster
+    @Test
+    @Order(2)
     void testCreateSprintByScrummaster() {
         String sprintId = createSprint()
         assert sprintId
     }
 
     // Migrated from SprintTests.xml:testUpdateSprintByScrummaster
+    @Test
+    @Order(3)
     void testUpdateSprintByScrummaster() {
         String sprintId = createSprint()
         Map serviceCtx = [
@@ -58,12 +64,16 @@ class SprintTests extends OFBizTestCase {
     }
 
     // Migrated from SprintTests.xml:testCreateSprintByAdmin
+    @Test
+    @Order(4)
     void testCreateSprintByAdmin() {
         String sprintId = createSprint()
         assert sprintId
     }
 
     // Migrated from SprintTests.xml:testUpdateSprintByAdmin
+    @Test
+    @Order(5)
     void testUpdateSprintByAdmin() {
         String sprintId = createSprint()
         Map serviceCtx = [
@@ -77,6 +87,14 @@ class SprintTests extends OFBizTestCase {
     }
 
     // Migrated from SprintTests.xml:testAddSprintMember
+    // Ordered after testRemoveSprintMember: assignPartyToWorkEffort's own 
de-dup check
+    // (WorkEffortServicesScript.groovy's filterByDate() against "today") 
rejects a second
+    // active assignment for the same (workEffortId, partyId, roleTypeId), so 
if this ran
+    // first, testRemoveSprintMember's own defensive "assign first" call would 
silently fail
+    // and the subsequent delete-by-PK would find nothing to remove. 
Pre-existing bug, not
+    // introduced by this migration - see the design doc addendum.
+    @Test
+    @Order(7)
     void testAddSprintMember() {
         Map serviceCtx = [
                 workEffortId: 'DEMO-SPRINT-1',
@@ -93,6 +111,8 @@ class SprintTests extends OFBizTestCase {
     }
 
     // Migrated from SprintTests.xml:testRemoveSprintMember
+    @Test
+    @Order(6)
     void testRemoveSprintMember() {
         Map serviceCtx = [
                 workEffortId: 'DEMO-SPRINT-1',
diff --git a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/TaskTests.groovy 
b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/TaskTests.groovy
similarity index 88%
rename from scrum/src/main/groovy/org/apache/ofbiz/scrum/test/TaskTests.groovy
rename to scrum/src/test/groovy/org/apache/ofbiz/scrum/test/TaskTests.groovy
index 4607b1cd9..3fadbeff0 100644
--- a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/TaskTests.groovy
+++ b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/TaskTests.groovy
@@ -19,16 +19,16 @@
 package org.apache.ofbiz.scrum.test
 
 import org.apache.ofbiz.service.ServiceUtil
-import org.apache.ofbiz.service.testtools.OFBizTestCase
+import org.apache.ofbiz.testtools.JunitJupiterTest
+import org.apache.ofbiz.testtools.JupiterTestHelper
+import org.junit.jupiter.api.Test
 
-class TaskTests extends OFBizTestCase {
-
-    TaskTests(String name) {
-        super(name)
-    }
+@JunitJupiterTest
+class TaskTests implements JupiterTestHelper {
 
     // Migrated from TaskTests.xml:testViewScrumRevisionBadCall
     // Tests that viewScrumRevision service handles a bad repository URL 
gracefully
+    @Test
     void testViewScrumRevisionBadCall() {
         Map serviceCtx = [
                 repository: '--diff+--diff-cmd=/bin/ls',
diff --git 
a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/TimesheetTests.groovy 
b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/TimesheetTests.groovy
similarity index 87%
rename from 
scrum/src/main/groovy/org/apache/ofbiz/scrum/test/TimesheetTests.groovy
rename to 
scrum/src/test/groovy/org/apache/ofbiz/scrum/test/TimesheetTests.groovy
index 05aab3cfe..24e18599e 100644
--- a/scrum/src/main/groovy/org/apache/ofbiz/scrum/test/TimesheetTests.groovy
+++ b/scrum/src/test/groovy/org/apache/ofbiz/scrum/test/TimesheetTests.groovy
@@ -19,15 +19,15 @@
 package org.apache.ofbiz.scrum.test
 
 import org.apache.ofbiz.service.ServiceUtil
-import org.apache.ofbiz.service.testtools.OFBizTestCase
+import org.apache.ofbiz.testtools.JunitJupiterTest
+import org.apache.ofbiz.testtools.JupiterTestHelper
+import org.junit.jupiter.api.Test
 
-class TimesheetTests extends OFBizTestCase {
-
-    TimesheetTests(String name) {
-        super(name)
-    }
+@JunitJupiterTest
+class TimesheetTests implements JupiterTestHelper {
 
     // Migrated from TimesheetTests.xml:testTimesheetToComplete
+    @Test
     void testTimesheetToComplete() {
         Map serviceCtx = [
                 timesheetId: 'DEMO-TIMESHEET1',
diff --git a/scrum/testdef/scrumTests.xml b/scrum/testdef/scrumTests.xml
index b7e0e0c85..c0617e14d 100644
--- a/scrum/testdef/scrumTests.xml
+++ b/scrum/testdef/scrumTests.xml
@@ -32,33 +32,33 @@ under the License.
         </test-case>
 
         <test-group case-name="scrum-tests">
-            <junit-test-suite 
class-name="org.apache.ofbiz.scrum.test.ScrumTests"/>
+            <jupiter-test-suite 
class-name="org.apache.ofbiz.scrum.test.ScrumTests"/>
         </test-group>
         <test-group case-name="productBacklog-tests">
-            <junit-test-suite 
class-name="org.apache.ofbiz.scrum.test.ProductBacklogTests"/>
+            <jupiter-test-suite 
class-name="org.apache.ofbiz.scrum.test.ProductBacklogTests"/>
         </test-group>
         <test-group case-name="scrumProject-tests">
-            <junit-test-suite 
class-name="org.apache.ofbiz.scrum.test.ScrumProjectTests"/>
+            <jupiter-test-suite 
class-name="org.apache.ofbiz.scrum.test.ScrumProjectTests"/>
         </test-group>
         <test-group case-name="sprint-tests">
-            <junit-test-suite 
class-name="org.apache.ofbiz.scrum.test.SprintTests"/>
+            <jupiter-test-suite 
class-name="org.apache.ofbiz.scrum.test.SprintTests"/>
         </test-group>
         <test-group case-name="sprintBacklog-tests">
-            <junit-test-suite 
class-name="org.apache.ofbiz.scrum.test.SprintBacklogTests"/>
+            <jupiter-test-suite 
class-name="org.apache.ofbiz.scrum.test.SprintBacklogTests"/>
         </test-group>
         <test-group case-name="dailyMeetingMinute-tests">
-            <junit-test-suite 
class-name="org.apache.ofbiz.scrum.test.DailyMeetingMinuteTests"/>
+            <jupiter-test-suite 
class-name="org.apache.ofbiz.scrum.test.DailyMeetingMinuteTests"/>
         </test-group>
         <test-group case-name="product-tests">
-            <junit-test-suite 
class-name="org.apache.ofbiz.scrum.test.ProductTests"/>
+            <jupiter-test-suite 
class-name="org.apache.ofbiz.scrum.test.ProductTests"/>
         </test-group>
         <test-group case-name="task-test">
-            <junit-test-suite 
class-name="org.apache.ofbiz.scrum.test.TaskTests"/>
+            <jupiter-test-suite 
class-name="org.apache.ofbiz.scrum.test.TaskTests"/>
         </test-group>
         <test-group case-name="myWork-test">
-            <junit-test-suite 
class-name="org.apache.ofbiz.scrum.test.MyWorkTests"/>
+            <jupiter-test-suite 
class-name="org.apache.ofbiz.scrum.test.MyWorkTests"/>
         </test-group>
         <test-group case-name="timesheet-test">
-            <junit-test-suite 
class-name="org.apache.ofbiz.scrum.test.TimesheetTests"/>
+            <jupiter-test-suite 
class-name="org.apache.ofbiz.scrum.test.TimesheetTests"/>
         </test-group>
 </test-suite>

Reply via email to