diff --git a/src/gn/json_project_writer_unittest.cc b/src/gn/json_project_writer_unittest.cc
index a026b40..0481d1a 100644
--- a/src/gn/json_project_writer_unittest.cc
+++ b/src/gn/json_project_writer_unittest.cc
@@ -129,6 +129,15 @@
             "outputs": [ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.o" ],
             "weak_framework_switch": "-weak_framework "
          },
+         "cxx_module": {
+            "command": "c++ {{source}} {{cflags}} {{cflags_cc}} {{defines}} {{include_dirs}} -o {{output}}",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "outputs": [ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.pcm" ],
+            "weak_framework_switch": "-weak_framework "
+         },
          "link": {
             "command": "ld -o {{target_output_name}} {{source}} {{ldflags}} {{libs}}",
             "framework_dir_switch": "-F",
@@ -360,6 +369,15 @@
             "outputs": [ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.o" ],
             "weak_framework_switch": "-weak_framework "
          },
+         "cxx_module": {
+            "command": "c++ {{source}} {{cflags}} {{cflags_cc}} {{defines}} {{include_dirs}} -o {{output}}",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "outputs": [ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.pcm" ],
+            "weak_framework_switch": "-weak_framework "
+         },
          "link": {
             "command": "ld -o {{target_output_name}} {{source}} {{ldflags}} {{libs}}",
             "framework_dir_switch": "-F",
@@ -615,6 +633,15 @@
             "outputs": [ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.o" ],
             "weak_framework_switch": "-weak_framework "
          },
+         "cxx_module": {
+            "command": "c++ {{source}} {{cflags}} {{cflags_cc}} {{defines}} {{include_dirs}} -o {{output}}",
+            "framework_dir_switch": "-F",
+            "framework_switch": "-framework ",
+            "lib_dir_switch": "-L",
+            "lib_switch": "-l",
+            "outputs": [ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.pcm" ],
+            "weak_framework_switch": "-weak_framework "
+         },
          "link": {
             "command": "ld -o {{target_output_name}} {{source}} {{ldflags}} {{libs}}",
             "framework_dir_switch": "-F",
diff --git a/src/gn/ninja_c_binary_target_writer_unittest.cc b/src/gn/ninja_c_binary_target_writer_unittest.cc
index 8d2a388..5bfd2a4 100644
--- a/src/gn/ninja_c_binary_target_writer_unittest.cc
+++ b/src/gn/ninja_c_binary_target_writer_unittest.cc
@@ -2266,12 +2266,6 @@
   TestWithScope setup;
   Err err;
 
-  std::unique_ptr<Tool> cxx_module_tool =
-      Tool::CreateTool(CTool::kCToolCxxModule);
-  cxx_module_tool->set_outputs(SubstitutionList::MakeForTest(
-      "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.pcm"));
-  setup.toolchain()->SetTool(std::move(cxx_module_tool));
-
   TestTarget target(setup, "//foo:bar", Target::STATIC_LIBRARY);
   target.sources().push_back(SourceFile("//foo/bar.cc"));
   target.sources().push_back(SourceFile("//foo/bar.modulemap"));
diff --git a/src/gn/test_with_scope.cc b/src/gn/test_with_scope.cc
index 1fae377..98a021f 100644
--- a/src/gn/test_with_scope.cc
+++ b/src/gn/test_with_scope.cc
@@ -109,6 +109,17 @@
   cxx_tool->set_command_launcher("launcher");
   toolchain->SetTool(std::move(cxx_tool));
 
+  // CXX_MODULE
+  std::unique_ptr<Tool> cxx_module_tool =
+      Tool::CreateTool(CTool::kCToolCxxModule);
+  SetCommandForTool(
+      "c++ {{source}} {{cflags}} {{cflags_cc}} {{defines}} {{include_dirs}} "
+      "-o {{output}}",
+      cxx_module_tool.get());
+  cxx_module_tool->set_outputs(SubstitutionList::MakeForTest(
+      "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.pcm"));
+  toolchain->SetTool(std::move(cxx_module_tool));
+
   // OBJC
   std::unique_ptr<Tool> objc_tool = Tool::CreateTool(CTool::kCToolObjC);
   SetCommandForTool(
