Hello all,
I find no other reference to org.junit.Parameterized in the code stack on trunk which indicates that no-one else has committed parameterized unit tests. I am asking because I have a test case where I would need that (I want to run all options for the CustRequestStatusType against the status check service an be sure it return the expected result) and when implementing I find that my IDE hints that „There is no default constructor available in class ‚org.apache.ofbiz.service.testtools.OFBizTestCase‘“. package org.apache.ofbiz.order import org.apache.ofbiz.service.ServiceUtil import org.apache.ofbiz.service.testtools.OFBizTestCase import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.Parameterized import org.junit.runners.Parameterized.Parameters @RunWith(Parameterized) class CustRequestStatusTests extends OFBizTestCase { private String status private String expect private String scenario @Parameters static scenarios() {[ ['CRQ_DRAFT', 'PASS', 'CustRequest status Draft expected to PASS'], ['CRQ_SUBMITTED', 'PASS', 'CustRequest status Submitted expected to PASS'], ['CRQ_ACCEPTED', 'PASS', 'CustRequest status Accepted expected to PASS'], ['CRQ_REVIEWED', 'PASS', 'CustRequest status Reviewed expected to PASS'], ['CRQ_PENDING', 'PASS', 'CustRequest status Pending expected to PASS'], ['CRQ_COMPLETED', 'FAIL', 'CustRequest status Completed expected to FAIL'], ['CRQ_REJECTED', 'PASS', 'CustRequest status Rejected expected to PASS'], ['CRQ_CANCELLED', 'FAIL', 'CustRequest status Cancelled expected to FAIL'], ]*.toArray()} public CustRequestStatusTests(String name, String status, String expect, String scenario) { this.expect = expect this.scenario = scenario this.status = status super(name) } /* Testing custRequestStatusCheck Service Implementation * * available test data: * (...) * <CustRequest custRequestId="9000" custRequestDate="2008-07-28 09:45:31.928" custRequestTypeId="RF_QUOTE" statusId="CRQ_ACCEPTED" fromPartyId="DemoCustomer" priority="9" custRequestName="Customer Request Usage" description="Demo CustRequest" productStoreId="9000"/> * <CustRequestItem custRequestId="9000" statusId="CRQ_ACCEPTED" custRequestItemSeqId="00001" productId="GZ-1001" story="This can be the longer story of an item on the customer request."/> * * */ @Test void testCustRequestStatusCheckEmpty() { Map input = [ custRequestId: '9001', ] Map result = dispatcher.runSync('checkStatusCustRequest', input) assert ServiceUtil.isError(result) // assert error message refers to certain text element } @Test void testCustRequestStatusCheckWrongStatus() { Map input = [ custRequestId: '9000', statusId: this.status, ] Map result = dispatcher.runSync('checkStatusCustRequest', input) if(this.expect == 'PASS') { assert ServiceUtil.isSuccess(result) } else { assert ServiceUtil.isFailure(result) } } } This hint certainly has to do with the implementation I need to do for such test cases using annotations to mark the class as @Parameterized, define the @Parameters and then mark the @Test that uses the parameters. Before I dive too much into web search: - has anyone attempted this for OFBiz unit Testing? (And hence the reason why no implementation is avail) Thanks for a hint :) Warm regards Carsten