diff --git a/testEnemy.py b/testEnemy.py
new file mode 100644
index 0000000000000000000000000000000000000000..048d0ff97b33adeaca1e1dc0c18c7eff30aeffcc
--- /dev/null
+++ b/testEnemy.py
@@ -0,0 +1,46 @@
+import unittest
+from unittest.mock import MagicMock, patch
+from enemy import Enemy
+from config import TILE_SIZE
+
+
+class TestEnemy(unittest.TestCase):
+    @patch('enemy.random')
+    def test_init(self, mock_random):
+        mock_maze = MagicMock()
+
+        mock_random.randint.return_value = 2
+        mock_maze.num_rows.return_value = 5
+        mock_maze.num_columns.return_value = 6
+        mock_maze.__getitem__.return_value = 0
+
+        enemy = Enemy(mock_maze)
+
+        self.assertEqual(enemy.x, 2 * 32)
+        self.assertEqual(enemy.y, 0)
+
+    @patch('enemy.random')
+    def test_reset_position(self, mock_random):
+        mock_maze = MagicMock()
+
+        mock_random.randint.return_value = 2
+        mock_maze.num_rows.return_value = 5
+        mock_maze.num_columns.return_value = 6
+        mock_maze.__getitem__.return_value = 0
+
+        enemy = Enemy(mock_maze)
+        enemy.reset_position()
+
+        self.assertEqual(enemy.x, 2 * 32)
+        self.assertEqual(enemy.y, 0)
+
+    def test_draw(self):
+        mock_screen = MagicMock()
+
+        enemy = Enemy(None)
+        enemy.draw(mock_screen)
+        mock_screen.assert_called_once_with('blue', (enemy.x, enemy.y, enemy.TILE_SIZE, enemy.TILE_SIZE))
+
+
+if __name__ == "__main__":
+    unittest.main()