From bfaeda0a90c65487b758c4c1011802e32e8f848f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8E=98=E6=9D=83=20=E9=A9=AC?= Date: Thu, 2 Nov 2023 10:28:54 +0800 Subject: [PATCH] feat: +unit tests --- tests/metagpt/test_schema.py | 32 ++++++++++++++++++++++++++++--- tests/metagpt/utils/test_named.py | 7 +++++++ 2 files changed, 36 insertions(+), 3 deletions(-) diff --git a/tests/metagpt/test_schema.py b/tests/metagpt/test_schema.py index 12666e0d3..71bb39c77 100644 --- a/tests/metagpt/test_schema.py +++ b/tests/metagpt/test_schema.py @@ -4,18 +4,44 @@ @Time : 2023/5/20 10:40 @Author : alexanderwu @File : test_schema.py +@Modified By: mashenquan, 2023-11-1. Add `test_message`. """ +import json + +import pytest + from metagpt.schema import AIMessage, Message, SystemMessage, UserMessage +@pytest.mark.asyncio def test_messages(): - test_content = 'test_message' + test_content = "test_message" msgs = [ UserMessage(test_content), SystemMessage(test_content), AIMessage(test_content), - Message(test_content, role='QA') + Message(test_content, role="QA"), ] text = str(msgs) - roles = ['user', 'system', 'assistant', 'QA'] + roles = ["user", "system", "assistant", "QA"] assert all([i in text for i in roles]) + + +@pytest.mark.asyncio +def test_message(): + m = Message("a", role="v1") + v = m.save() + d = json.loads(v) + assert d + assert d.get("content") == "a" + assert d.get("meta_info") == {"role": "v1"} + m.set_role("v2") + v = m.save() + assert v + m = Message.load(v) + assert m.content == "a" + assert m.role == "v2" + + +if __name__ == "__main__": + pytest.main([__file__, "-s"]) diff --git a/tests/metagpt/utils/test_named.py b/tests/metagpt/utils/test_named.py index 89a68b5e7..ff1f07205 100644 --- a/tests/metagpt/utils/test_named.py +++ b/tests/metagpt/utils/test_named.py @@ -1,3 +1,10 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +""" +@Time : 2023-11-1 +@Author : mashenquan +@File : test_named.py +""" import pytest from metagpt.utils.named import Named