Skip to content

Commit

Permalink
#58 Unique id for dynamic test created with index
Browse files Browse the repository at this point in the history
  • Loading branch information
jlink committed Mar 4, 2016
1 parent 340fdc6 commit 390a238
Showing 1 changed file with 6 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import static org.junit.gen5.engine.junit5.execution.MethodInvocationContextFactory.methodInvocationContext;

import java.lang.reflect.Method;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Stream;

import org.junit.gen5.api.DynamicTest;
Expand Down Expand Up @@ -61,12 +62,14 @@ protected void invokeTestMethod(JUnit5EngineExecutionContext context, TestExtens
//Todo: Handle cast exceptions
Stream<DynamicTest> dynamicTestStream = (Stream<DynamicTest>) methodInvoker.invoke(methodInvocationContext);

dynamicTestStream.forEach(dynamicTest -> registerAndExecute(dynamicTest, listener));
AtomicInteger index = new AtomicInteger();
dynamicTestStream.forEach(
dynamicTest -> registerAndExecute(dynamicTest, index.incrementAndGet(), listener));
});
}

private void registerAndExecute(DynamicTest dynamicTest, EngineExecutionListener listener) {
String uniqueId = getUniqueId() + ":" + dynamicTest.getName();
private void registerAndExecute(DynamicTest dynamicTest, int index, EngineExecutionListener listener) {
String uniqueId = getUniqueId() + "%" + index;
DynamicTestTestDescriptor dynamicTestTestDescriptor = new DynamicTestTestDescriptor(uniqueId, dynamicTest,
getSource().get());
addChild(dynamicTestTestDescriptor);
Expand Down

0 comments on commit 390a238

Please sign in to comment.