From cb6067e6d81863f0584af4bf9714777cb0fa8dc0 Mon Sep 17 00:00:00 2001 From: liugang Date: Sun, 7 Sep 2025 08:34:03 +0800 Subject: [PATCH] + [misc] Add unit tests for biModel::getSqlTypeAndFields() 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 --- module/bi/test/lib/bi.unittest.class.php | 16 ++++++++++++ module/bi/test/model/getsqltypeandfields.php | 26 ++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100755 module/bi/test/model/getsqltypeandfields.php diff --git a/module/bi/test/lib/bi.unittest.class.php b/module/bi/test/lib/bi.unittest.class.php index b079904fd4..6d15a6ee01 100644 --- a/module/bi/test/lib/bi.unittest.class.php +++ b/module/bi/test/lib/bi.unittest.class.php @@ -780,4 +780,20 @@ class biTest return $result; } + + /** + * Test getSqlTypeAndFields method. + * + * @param string $sql + * @param string $driver + * @access public + * @return mixed + */ + public function getSqlTypeAndFieldsTest($sql, $driver = 'mysql') + { + $result = $this->objectModel->getSqlTypeAndFields($sql, $driver); + if(dao::isError()) return dao::getError(); + + return $result; + } } diff --git a/module/bi/test/model/getsqltypeandfields.php b/module/bi/test/model/getsqltypeandfields.php new file mode 100755 index 0000000000..0cee1322ad --- /dev/null +++ b/module/bi/test/model/getsqltypeandfields.php @@ -0,0 +1,26 @@ +#!/usr/bin/env php +getSqlTypeAndFieldsTest('SELECT 1 as test', 'mysql')) && p() && e('array'); // 测试简单SELECT语句,检查返回数组结构是否正确 +r($bi->getSqlTypeAndFieldsTest('SELECT 1 as test', 'mysql')) && p(':count') && e('2'); // 测试返回数组包含两个元素 +r($bi->getSqlTypeAndFieldsTest('SELECT 1 as test', 'mysql')) && p('0') && e('object'); // 测试第一个元素是否为对象 +r($bi->getSqlTypeAndFieldsTest('SELECT 1 as test', 'mysql')) && p('1') && e('array'); // 测试第二个元素是否为数组 +r($bi->getSqlTypeAndFieldsTest('SELECT 1 as id, "test" as name', 'mysql')) && p() && e('array'); // 测试方法能正确处理SQL和driver参数 \ No newline at end of file