diff --git a/test/java/common/rules/common_launcher_java_binary_tests.bzl b/test/java/common/rules/common_launcher_java_binary_tests.bzl
index 6a71904..56b49d3 100644
--- a/test/java/common/rules/common_launcher_java_binary_tests.bzl
+++ b/test/java/common/rules/common_launcher_java_binary_tests.bzl
@@ -202,6 +202,21 @@
         "common.rules.{test_name}.withdot.Test".format(test_name = env.ctx.label.name),
     )
 
+def _test_java_test_has_assertions_enabled(name):
+    util.helper_target(
+        java_test,
+        name = name + "/testea",
+    )
+
+    analysis_test(
+        name = name,
+        impl = _test_java_test_has_assertions_enabled_impl,
+        target = name + "/testea",
+    )
+
+def _test_java_test_has_assertions_enabled_impl(env, target):
+    expect_that_executable.of_target(env, target).jvm_flags().contains("-ea")
+
 def java_binary_launcher_tests(name):
     test_suite(
         name = name,
@@ -214,5 +229,6 @@
             _test_java_binary_implicit_main_class,
             _test_java_test_main_class,
             _test_java_test_main_class_with_dot,
+            _test_java_test_has_assertions_enabled,
         ],
     )
diff --git a/test/java/testutil/binary_executable_subject.bzl b/test/java/testutil/binary_executable_subject.bzl
index 818d66e..8e615a0 100644
--- a/test/java/testutil/binary_executable_subject.bzl
+++ b/test/java/testutil/binary_executable_subject.bzl
@@ -9,6 +9,7 @@
     public = struct(
         java_start_class = lambda: _java_start_class_subject(action_subject),
         test_suite = lambda: _test_suite_subject(action_subject),
+        jvm_flags = lambda: _jvm_flags_subject(action_subject),
     )
     return public
 
@@ -24,21 +25,23 @@
         ).offset(0, factory = subjects.str)
 
 def _test_suite_subject(action):
-    if action.actual.substitutions:
-        jvm_flags = action.substitutions().get("%jvm_flags%", factory = subjects.str).split(" ")
-    else:
-        # Windows
-        jvm_flags = action.argv().transform(
-            filter = lambda e: e.startswith("jvm_flags="),
-            map_each = lambda e: e.split("=", 1)[1],
-            desc = "jvm_flags",
-        ).offset(0, factory = subjects.str).split("\t")
-    return jvm_flags.transform(
+    return _jvm_flags_subject(action).transform(
         filter = lambda e: e.startswith("-D" + semantics.TEST_SUITE_PROPERTY_NAME + "="),
         map_each = lambda e: e.split("=", 1)[1],
         desc = semantics.TEST_SUITE_PROPERTY_NAME,
     ).offset(0, factory = subjects.str)
 
+def _jvm_flags_subject(action):
+    if action.actual.substitutions:
+        return action.substitutions().get("%jvm_flags%", factory = subjects.str).split(" ")
+    else:
+        # Windows
+        return action.argv().transform(
+            filter = lambda e: e.startswith("jvm_flags="),
+            map_each = lambda e: e.split("=", 1)[1],
+            desc = "jvm_flags",
+        ).offset(0, factory = subjects.str).split("\t")
+
 expect_that_executable = struct(
     of_target = _of_target,
 )
