diff --git a/src/gn/rust_project_writer_helpers_unittest.cc b/src/gn/rust_project_writer_helpers_unittest.cc
index c19e709..286b4c2 100644
--- a/src/gn/rust_project_writer_helpers_unittest.cc
+++ b/src/gn/rust_project_writer_helpers_unittest.cc
@@ -12,6 +12,15 @@
 #include "util/build_config.h"
 #include "util/test/test.h"
 
+static void ExpectEqOrShowDiff(const char* expected,
+                               const std::string& actual) {
+  if (expected != actual) {
+    printf("\nExpected: >>>\n%s<<<\n", expected);
+    printf("  Actual: >>>\n%s<<<\n", actual.c_str());
+  }
+  EXPECT_EQ(expected, actual);
+}
+
 using RustProjectWriterHelper = TestWithScheduler;
 
 TEST_F(RustProjectWriterHelper, WriteCrates) {
@@ -71,7 +80,7 @@
       "  ]\n"
       "}\n";
 
-  EXPECT_EQ(expected_json, out);
+  ExpectEqOrShowDiff(expected_json, out);
 }
 
 TEST_F(RustProjectWriterHelper, SysrootDepsAreCorrect) {
@@ -419,7 +428,7 @@
       "  ]\n"
       "}\n";
 
-  EXPECT_EQ(expected_json, out);
+  ExpectEqOrShowDiff(expected_json, out);
 }
 
 TEST_F(RustProjectWriterHelper, ExtractCompilerTargetTupleSimple) {
diff --git a/src/gn/rust_project_writer_unittest.cc b/src/gn/rust_project_writer_unittest.cc
index 9df1ad2..675f9a6 100644
--- a/src/gn/rust_project_writer_unittest.cc
+++ b/src/gn/rust_project_writer_unittest.cc
@@ -13,6 +13,15 @@
 #include "util/build_config.h"
 #include "util/test/test.h"
 
+
+static void ExpectEqOrShowDiff(const char* expected, const std::string& actual) {
+  if(expected != actual) {
+    printf("\nExpected: >>>\n%s<<<\n", expected);
+    printf("  Actual: >>>\n%s<<<\n", actual.c_str());
+  }
+  EXPECT_EQ(expected, actual);
+}
+
 using RustProjectJSONWriter = TestWithScheduler;
 
 TEST_F(RustProjectJSONWriter, OneRustTarget) {
@@ -63,7 +72,7 @@
       "  ]\n"
       "}\n";
 
-  EXPECT_EQ(expected_json, out);
+  ExpectEqOrShowDiff(expected_json, out);
 }
 
 TEST_F(RustProjectJSONWriter, RustTargetDep) {
@@ -138,7 +147,7 @@
       "  ]\n"
       "}\n";
 
-  EXPECT_EQ(expected_json, out);
+  ExpectEqOrShowDiff(expected_json, out);
 }
 
 TEST_F(RustProjectJSONWriter, RustTargetDepTwo) {
@@ -240,7 +249,7 @@
       "    }\n"
       "  ]\n"
       "}\n";
-  EXPECT_EQ(expected_json, out);
+  ExpectEqOrShowDiff(expected_json, out);
 }
 
 // Test that when outputting dependencies, only Rust deps are returned,
@@ -358,7 +367,7 @@
       "  ]\n"
       "}\n";
 
-  EXPECT_EQ(expected_json, out);
+  ExpectEqOrShowDiff(expected_json, out);
 }
 
 TEST_F(RustProjectJSONWriter, OneRustTargetWithRustcTargetSet) {
@@ -410,7 +419,7 @@
       "  ]\n"
       "}\n";
 
-  EXPECT_EQ(expected_json, out);
+  ExpectEqOrShowDiff(expected_json, out);
 }
 
 TEST_F(RustProjectJSONWriter, OneRustTargetWithEditionSet) {
@@ -460,7 +469,7 @@
       "  ]\n"
       "}\n";
 
-  EXPECT_EQ(expected_json, out);
+  ExpectEqOrShowDiff(expected_json, out);
 }
 
 TEST_F(RustProjectJSONWriter, OneRustTargetWithEditionSetAlternate) {
@@ -511,5 +520,5 @@
       "  ]\n"
       "}\n";
 
-  EXPECT_EQ(expected_json, out);
+  ExpectEqOrShowDiff(expected_json, out);
 }
\ No newline at end of file
