From 2a5599132fc3cbea345528fcb5f4c9c0b181a732 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 1 Dec 2025 19:29:46 +0800 Subject: [PATCH] test: Add basic unit tests for configuration and decorators --- src/test/test_basics.py | 42 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/test/test_basics.py diff --git a/src/test/test_basics.py b/src/test/test_basics.py new file mode 100644 index 0000000..a5159a7 --- /dev/null +++ b/src/test/test_basics.py @@ -0,0 +1,42 @@ +import unittest +import sys +import os + +sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '../'))) + + +from ReFreSH.MobileSuit import Suit, SuitInfo, SuitAlias, SuitIgnore, SuitConfig + +class TestMobileSuitBasics(unittest.TestCase): + """ + PyMobileSuit 的基础冒烟测试 (Smoke Test) + """ + + def test_config_modification(self): + """测试 Config 配置能否被正常修改""" + original_locale = SuitConfig.LOCALE + try: + SuitConfig.LOCALE = 'zh' + self.assertEqual(SuitConfig.LOCALE, 'zh') + SuitConfig.LOCALE = 'en' + self.assertEqual(SuitConfig.LOCALE, 'en') + finally: + SuitConfig.LOCALE = original_locale + + def test_app_decorators(self): + """测试装饰器能否正常应用在类方法上""" + try: + class DemoApp: + @SuitInfo("test_command") + def cmd_func(self): pass + + @SuitAlias("alias_cmd") + def alias_func(self): pass + + app = DemoApp() + self.assertTrue(hasattr(app, 'cmd_func')) + except Exception as e: + self.fail(f"应用 MobileSuit 装饰器时抛出了异常: {e}") + +if __name__ == '__main__': + unittest.main() \ No newline at end of file