Long initialization time for mock(SomeClass.class)

25 views
Skip to first unread message

harshainfo

unread,
Aug 2, 2024, 11:19:34 AM8/2/24
to mockito
Hi,
I am trying to mock a class called ModuleCompletion in my codebase. While other mocks are created in less than 100ms, it is taking 1,890ms to just run
 
ModuleCompletion mockModuleCompletionObject = mock(ModuleCompletion.class);

Given below is a simplified version of the ModuleCompletion class:

/** Completion handler for module. */
public final class ModuleCompletion {
private int code;
/*
8 more fields defined here
*/

/** Builder class */
public static final class Builder {
private int code;
/*
8 more fields defined here
*/

// Fields and methods for building a ModuleCompletion object
public ModuleCompletion build() {
return new ModuleCompletion(this);
}

public Builder code(final int code) {
return this;
}
// Additional builder methods for other fields
}

private ModuleCompletion(final Builder builder) { this.code = builder.code;
// Initialization of fields from builder
}

/** Gets a generic, empty builder object. */
public static Builder builder() {
return new Builder();
}

/** Gets a failure builder object with a pre-populated job status. */
public static Builder failure() {
return new Builder().jobStatus(Job.Status.FAILURE);
}

/** Gets a success builder object with a pre-populated job status. */
public static Builder success() {
return new Builder().jobStatus(Job.Status.SUCCESS);
}

/** Handles the completion of the module. */
public void completeModule() {
// Logic to complete the module
switch (this.jobStatus) {
case SUCCESS, SUCCESS_WITH_ERRORS -> handleModuleSuccess();
default -> handleModuleFailure();
}
}

private void handleModuleFailure() {
// Logic for handling module failure
}

private void handleModuleSuccess() {
// Logic for handling module success
}
}

Any insight into why this initialization is taking longer, is highly appreciated.
Thanks,

Harsha
Reply all
Reply to author
Forward
0 new messages