diff --git a/mrhlpr/frontend.py b/mrhlpr/frontend.py
index d34298b1f0f96c3bbdbd263675ab9cfbac72d5dc..dfe967693a5c7061efd6e3741271e48707bf0b85 100644
--- a/mrhlpr/frontend.py
+++ b/mrhlpr/frontend.py
@@ -168,7 +168,7 @@ def print_status(mr_id: int, no_cache: bool = False) -> None:
     print("* Finish the MR: push, approve, merge, comment ('mrhlpr finish')")
 
 
-def parse_args() -> argparse.Namespace:
+def get_parser() -> argparse.ArgumentParser:
     parser = argparse.ArgumentParser()
     parser.add_argument(
         "-n", "--no-cache", action="store_true", help="do not use local cache for MR information"
@@ -248,11 +248,11 @@ def parse_args() -> argparse.Namespace:
 
     if "argcomplete" in sys.modules:
         argcomplete.autocomplete(parser, always_complete_options="long")
-    return parser.parse_args()
+    return parser
 
 
 def main() -> None:
-    args = parse_args()
+    args = get_parser().parse_args()
     if args.verbose:
         logging.getLogger().setLevel(logging.DEBUG)
     if args.action == "status":
diff --git a/mrtest/frontend.py b/mrtest/frontend.py
index f46ee387d731e884f567344f63943179297ed9cf..a523b937ecfb0e017cfeb3e7c699b97b9995f8f5 100644
--- a/mrtest/frontend.py
+++ b/mrtest/frontend.py
@@ -18,7 +18,7 @@ except ImportError:
     pass
 
 
-def parse_args_parser_add(sub) -> None:
+def arguments_add(sub) -> None:
     """:param sub: argparser's subparser"""
     parser = sub.add_parser("add", help="install packages from an MR")
     parser.add_argument(
@@ -27,7 +27,7 @@ def parse_args_parser_add(sub) -> None:
     parser.add_argument("mr_id", type=int, help="merge request ID")
 
 
-def parse_args_parser_upgrade(sub) -> None:
+def arguments_upgrade(sub) -> None:
     """:param sub: argparser's subparser"""
     parser = sub.add_parser("upgrade", help="upgrade to packages from an MR")
     parser.add_argument(
@@ -42,12 +42,12 @@ def parse_args_parser_upgrade(sub) -> None:
     parser.add_argument("mr_id", type=int, help="merge request ID")
 
 
-def parse_args_parser_zap(sub) -> None:
+def arguments_zap(sub) -> None:
     """:param sub: argparser's subparser"""
     sub.add_parser("zap", help="uninstall previously added packages")
 
 
-def parse_args() -> argparse.Namespace:
+def get_parser() -> argparse.ArgumentParser:
     parser = argparse.ArgumentParser()
     parser.add_argument(
         "-n", "--no-cache", action="store_true", help="do not use local cache for MR information"
@@ -64,17 +64,17 @@ def parse_args() -> argparse.Namespace:
     sub = parser.add_subparsers(title="action", dest="action")
     sub.required = True
 
-    parse_args_parser_add(sub)
-    parse_args_parser_upgrade(sub)
-    parse_args_parser_zap(sub)
+    arguments_add(sub)
+    arguments_upgrade(sub)
+    arguments_zap(sub)
 
     if "argcomplete" in sys.modules:
         argcomplete.autocomplete(parser, always_complete_options="long")
-    return parser.parse_args()
+    return parser
 
 
 def main() -> None:
-    args = parse_args()
+    args = get_parser().parse_args()
     if args.verbose:
         logging.getLogger().setLevel(logging.DEBUG)
     if args.action == "zap":