Skip to content

Commit 468ca22

Browse files
committed
fix flaky test in ElasticJobExecutorTest
1 parent 4acbf77 commit 468ca22

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/ElasticJobExecutorTest.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
import static org.junit.jupiter.api.Assertions.assertThrows;
4343
import static org.mockito.ArgumentMatchers.any;
4444
import static org.mockito.ArgumentMatchers.anyBoolean;
45+
import static org.mockito.ArgumentMatchers.argThat;
4546
import static org.mockito.ArgumentMatchers.eq;
4647
import static org.mockito.Mockito.doThrow;
4748
import static org.mockito.Mockito.lenient;
@@ -135,17 +136,21 @@ private void assertExecuteFailureWhenThrowException(final ShardingContexts shard
135136
} finally {
136137
verify(jobFacade).postJobStatusTraceEvent(shardingContexts.getTaskId(), State.TASK_STAGING, "Job 'test_job' execute begin.");
137138
verify(jobFacade).postJobStatusTraceEvent(shardingContexts.getTaskId(), State.TASK_RUNNING, "");
138-
verify(jobFacade).postJobStatusTraceEvent(shardingContexts.getTaskId(), State.TASK_ERROR, getErrorMessage(shardingContexts));
139+
verify(jobFacade).postJobStatusTraceEvent(eq(shardingContexts.getTaskId()), eq(State.TASK_ERROR), argThat(msg -> isValidErrorMessage(msg, shardingContexts)));
139140
verify(jobFacade).registerJobBegin(shardingContexts);
140141
verify(jobItemExecutor, times(shardingContexts.getShardingTotalCount())).process(eq(fooJob), eq(jobConfig), eq(jobRuntimeService), any());
141142
verify(jobFacade).registerJobCompleted(shardingContexts);
142143
}
143144
}
144145

145-
private String getErrorMessage(final ShardingContexts shardingContexts) {
146-
return 1 == shardingContexts.getShardingItemParameters().size()
147-
? "{0=java.lang.RuntimeException" + System.lineSeparator() + "}"
148-
: "{0=java.lang.RuntimeException" + System.lineSeparator() + ", 1=java.lang.RuntimeException" + System.lineSeparator() + "}";
146+
private boolean isValidErrorMessage(final String errorMessage, final ShardingContexts shardingContexts) {
147+
if (1 == shardingContexts.getShardingItemParameters().size()) {
148+
return errorMessage.equals("{0=java.lang.RuntimeException" + System.lineSeparator() + "}");
149+
} else {
150+
String pattern1 = "{0=java.lang.RuntimeException" + System.lineSeparator() + ", 1=java.lang.RuntimeException" + System.lineSeparator() + "}";
151+
String pattern2 = "{1=java.lang.RuntimeException" + System.lineSeparator() + ", 0=java.lang.RuntimeException" + System.lineSeparator() + "}";
152+
return errorMessage.equals(pattern1) || errorMessage.equals(pattern2);
153+
}
149154
}
150155

151156
@Test

0 commit comments

Comments
 (0)