diff --git a/gdb-port/tests/unit/ast.py b/gdb-port/tests/unit/ast.py
index 7fe8bf442858fad92753e8de7b3024ffde761e47..55e29bd7af2fa60752c29e84772212b8f58f174a 100644
--- a/gdb-port/tests/unit/ast.py
+++ b/gdb-port/tests/unit/ast.py
@@ -99,4 +99,24 @@ class HParseResultCreation(unittest.TestCase):
 
 	# TODO: should read_member employ a whitelist for member_name, or should this trigger an exeption?
 	def test_read_member_invalid_param(self):
-		raise Exception("Not implemented")
+		hpr_pointer_type_patcher = unittest.mock.patch.object(HParseResult, 'HParseResult_t_p', spec=gdb.Type)
+		gdbv_patcher = unittest.mock.patch('gdb.Value', autospec=True)
+		gdb_lookup_type_patcher = unittest.mock.patch.object(gdb, 'lookup_type')
+		init_patcher = unittest.mock.patch.object(HParseResult, '__init__', return_value=None)
+
+		hpr_pointer_type_patcher.start()
+		gdbv_mock_object = gdbv_patcher.start()
+		gdb_lookup_type_mock_object = gdb_lookup_type_patcher.start()
+		init_patcher.start()
+
+		with self.assertRaises(gdb.error):
+			result = HParseResult(0xdeadbeef)
+			result.address = 0xdeadbeef
+			member = result.read_member('invalid_member_value')
+
+		#TODO: ensure these run even if the test fails
+		init_patcher.stop()
+		gdb_lookup_type_patcher.stop()
+		gdbv_patcher.stop()
+		hpr_pointer_type_patcher.stop()
+