diff --git a/mmengine/runner/__init__.py b/mmengine/runner/__init__.py
index fce566d9c672d5d60f0e3bb9a628cb6ec20f54a7..801347c342ed299f068fdea60d5f4e539b1cf3ff 100644
--- a/mmengine/runner/__init__.py
+++ b/mmengine/runner/__init__.py
@@ -7,6 +7,7 @@ from .checkpoint import (CheckpointLoader, find_latest_checkpoint,
                          get_torchvision_models, load_checkpoint,
                          load_state_dict, save_checkpoint, weights_to_cpu)
 from .loops import EpochBasedTrainLoop, IterBasedTrainLoop, TestLoop, ValLoop
+from .priority import Priority, get_priority
 from .runner import Runner
 
 __all__ = [
@@ -14,5 +15,6 @@ __all__ = [
     'get_external_models', 'get_mmcls_models', 'get_deprecated_model_names',
     'CheckpointLoader', 'load_checkpoint', 'weights_to_cpu', 'get_state_dict',
     'save_checkpoint', 'EpochBasedTrainLoop', 'IterBasedTrainLoop', 'ValLoop',
-    'TestLoop', 'Runner', 'find_latest_checkpoint', 'autocast'
+    'TestLoop', 'Runner', 'get_priority', 'Priority', 'find_latest_checkpoint',
+    'autocast'
 ]
diff --git a/tests/test_runner/test_priority.py b/tests/test_runner/test_priority.py
new file mode 100644
index 0000000000000000000000000000000000000000..2065897887a6de446edc9cfbc4fa4105d8250da4
--- /dev/null
+++ b/tests/test_runner/test_priority.py
@@ -0,0 +1,29 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import pytest
+
+from mmengine.runner import Priority, get_priority
+
+
+def test_get_priority():
+    # test `priority` parameter which can be int, str or Priority
+    # `priority` is an integer
+    assert get_priority(10) == 10
+    # `priority` is an integer but it exceeds the valid ranges
+    with pytest.raises(ValueError, match='priority must be between 0 and 100'):
+        get_priority(-1)
+    with pytest.raises(ValueError, match='priority must be between 0 and 100'):
+        get_priority(101)
+
+    # `priority` is a Priority enum value
+    assert get_priority(Priority.HIGHEST) == 0
+    assert get_priority(Priority.LOWEST) == 100
+
+    # `priority` is a string
+    assert get_priority('HIGHEST') == 0
+    assert get_priority('LOWEST') == 100
+
+    # `priority` is an invalid type
+    with pytest.raises(
+            TypeError,
+            match='priority must be an integer or Priority enum value'):
+        get_priority([10])