diff --git a/src/test/java/com/google/devtools/build/lib/runtime/TestSummaryTest.java b/src/test/java/com/google/devtools/build/lib/runtime/TestSummaryTest.java
index 05d16a3..ee0f08c 100644
--- a/src/test/java/com/google/devtools/build/lib/runtime/TestSummaryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/runtime/TestSummaryTest.java
@@ -69,9 +69,11 @@
   }
 
   private TestSummary.Builder getTemplateBuilder() {
+    BuildConfiguration configuration = Mockito.mock(BuildConfiguration.class);
+    when(configuration.checksum()).thenReturn("abcdef");
     return TestSummary.newBuilder()
         .setTarget(stubTarget)
-        .setConfiguration(stubTarget.getConfiguration())
+        .setConfiguration(configuration)
         .setStatus(BlazeTestStatus.PASSED)
         .setNumCached(NOT_CACHED)
         .setActionRan(true)
@@ -454,11 +456,9 @@
   }
 
   private ConfiguredTarget target(String path, String targetName) throws Exception {
-    BuildConfiguration configuration = Mockito.mock(BuildConfiguration.class);
-    when(configuration.checksum()).thenReturn("abcdef");
     ConfiguredTarget target = Mockito.mock(ConfiguredTarget.class);
     when(target.getLabel()).thenReturn(Label.create(path, targetName));
-    when(target.getConfiguration()).thenReturn(configuration);
+    when(target.getConfigurationChecksum()).thenReturn("abcdef");
     return target;
   }
 
