From 703f2818907159cd64675e53a61004460f8acf43 Mon Sep 17 00:00:00 2001 From: liugang Date: Mon, 15 Sep 2025 00:13:22 +0800 Subject: [PATCH] + [misc] Add unit tests for metricZen::prepareScopeList() method MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .../test/lib/metriczen.unittest.class.php | 16 ++++++++ module/metric/test/zen/preparescopelist.php | 39 +++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100755 module/metric/test/zen/preparescopelist.php diff --git a/module/metric/test/lib/metriczen.unittest.class.php b/module/metric/test/lib/metriczen.unittest.class.php index 0c2dde14e8..fff64bfb94 100644 --- a/module/metric/test/lib/metriczen.unittest.class.php +++ b/module/metric/test/lib/metriczen.unittest.class.php @@ -120,4 +120,20 @@ class metricZenTest if(dao::isError()) return dao::getError(); return $result; } + + /** + * Test prepareScopeList method. + * + * @access public + * @return mixed + */ + public function prepareScopeListZenTest() + { + $method = $this->metricZenTest->getMethod('prepareScopeList'); + $method->setAccessible(true); + + $result = $method->invokeArgs($this->metricZenTest->newInstance(), array()); + if(dao::isError()) return dao::getError(); + return $result; + } } \ No newline at end of file diff --git a/module/metric/test/zen/preparescopelist.php b/module/metric/test/zen/preparescopelist.php new file mode 100755 index 0000000000..cc4b0d83e9 --- /dev/null +++ b/module/metric/test/zen/preparescopelist.php @@ -0,0 +1,39 @@ +#!/usr/bin/env php +prepareScopeListZenTest(); + +// 5. 强制要求:必须包含至少5个测试步骤 +r(count($result)) && p() && e('7'); // 步骤1:正常情况下返回完整的范围列表数组,验证数组长度 +r($result[0]['key']) && p() && e('project'); // 步骤2:验证第一个项目范围的键 +r($result[0]['text']) && p() && e('项目'); // 步骤3:验证第一个项目范围的文本内容 +r($result[1]['key']) && p() && e('product'); // 步骤4:验证第二个产品范围的键 +r($result[4]['key']) && p() && e('system'); // 步骤5:验证第五个系统范围的键 \ No newline at end of file