Skip to content

Commit 39be0af

Browse files
authored
Merge pull request #31 from Nordstrom/pr/fix-hook-installation
Add intercepts for extensions of the Suite class
2 parents 4ddd491 + b2f4ecf commit 39be0af

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/main/java/com/nordstrom/automation/junit/LifecycleHooks.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,19 @@ public static ClassFileTransformer installTransformer(Instrumentation instrument
7474
TypeDescription reflectiveCallable = TypePool.Default.ofSystemLoader().describe("org.junit.internal.runners.model.ReflectiveCallable").resolve();
7575
TypeDescription parentRunner = TypePool.Default.ofSystemLoader().describe("org.junit.runners.ParentRunner").resolve();
7676
TypeDescription blockJUnit4ClassRunner = TypePool.Default.ofSystemLoader().describe("org.junit.runners.BlockJUnit4ClassRunner").resolve();
77+
TypeDescription suite = TypePool.Default.ofSystemLoader().describe("org.junit.runners.Suite").resolve();
7778

7879
return new AgentBuilder.Default()
7980
.type(isSubTypeOf(reflectiveCallable))
8081
.transform((builder, type, classLoader, module) ->
8182
builder.method(named("runReflectiveCall")).intercept(MethodDelegation.to(RunReflectiveCall.class))
8283
.implement(Hooked.class))
8384
.type(is(parentRunner))
85+
.transform((builder, type, classLoader, module) ->
86+
builder.method(named("createTestClass")).intercept(MethodDelegation.to(CreateTestClass.class))
87+
.method(named("run")).intercept(MethodDelegation.to(Run.class))
88+
.implement(Hooked.class))
89+
.type(isSubTypeOf(suite))
8490
.transform((builder, type, classLoader, module) ->
8591
builder.method(named("createTestClass")).intercept(MethodDelegation.to(CreateTestClass.class))
8692
.method(named("run")).intercept(MethodDelegation.to(Run.class))

0 commit comments

Comments
 (0)