Expand my Community achievements bar.

Applications for the 2024-2025 Adobe Experience Manager Champion Program are open!

Unit Testing for Custom workflow process and Participant step??

Avatar

Level 2

Hi Team,

Can we write unit test cases for Custom workflow process and Participant step?? using Junit or Jmockito

If Yes could you please help me out.

I tried using Jmockito and junit

 @Test
  public void testExecute() throws WorkflowException, RepositoryException {

    try {
      new NonStrictExpectations() {
        {
          args.get("PROCESS_ARGS", String.class);
          returns("gen7flag");

          wfSession.adaptTo(Session.class);
          returns(session);

          wfItem.getWorkflowData();
          returns(workflowData);

          workflowData.getPayload();
          returns("/content/corning/worldwide/en/handle-bar");
          
        }
      };

      previewUnpublish.execute(wfItem, wfSession, args);

    } catch (Exception e) {
      Assert.fail(e.getMessage());
    }
  }

But in previewUnpublish Workflow process i have a replicator variable referenced, how can mock as its part of workflow class object i cant pass it as param arg

@Reference
  private Replicator replicator;

Thanks in Advance

Mallikarjun

1 Reply

Avatar

Level 9

Hi Mallikarjun,

From what I am aware of , you should be able to write test cases for custom workflow process.

If a replicator variable is referenced, we can do it as below [Please note : Using powermock is not recommended]

private Replicator replicator;

replicator = mock(Replicator.class);

Whitebox.setInternalState(ProcessName, "replicator", replicator);