if not os.path.isdir(patch_dir):
         log.error("{} is not a valid directory.".format(patch_dir))
         sys.exit(404)
-    status = subprocess.call(["version", "patch", release_tag, patch_dir, project])
-    sys.exit(status)
+    # due to the nature of the subprocess call, this is not testable so disable coverage
+    status = subprocess.call(["version", "patch", release_tag, patch_dir, project])  # pragma: no cover
+    sys.exit(status)  # pragma: no cover
 
 
 version.add_command(bump)
 
         expected_pom = str(_file) + "/pom.xml.expected"
         # noqa: B101 .
         assert filecmp.cmp(pom, expected_pom)
+
+
+@pytest.mark.datafiles(
+    os.path.join(FIXTURE_DIR, "version_bump", "release"),
+)
+def test_patch(cli_runner, datafiles):
+    """Test patch command."""
+    os.chdir(str(datafiles))
+    result = cli_runner.invoke(cli.cli, ["version", "patch", "TestRelease", os.path.join(datafiles, "README")], obj={})
+    assert result.exit_code == 404