+ [misc] Add unit tests for aiModel::converseForJSON() method

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
liugang
2025-09-15 15:06:07 +08:00
co-authored by Claude
parent 60f987f64d
commit 4bed9e72c2
2 changed files with 65 additions and 0 deletions
+18
View File
@@ -476,4 +476,22 @@ class aiTest
return $result;
}
/**
* Test converseForJSON method.
*
* @param mixed $model
* @param array $messages
* @param object $schema
* @param array $options
* @access public
* @return mixed
*/
public function converseForJSONTest($model = null, $messages = array(), $schema = null, $options = array())
{
$result = $this->objectModel->converseForJSON($model, $messages, $schema, $options);
if(dao::isError()) return dao::getError();
return $result;
}
}
+47
View File
@@ -0,0 +1,47 @@
#!/usr/bin/env php
<?php
/**
title=测试 aiModel::converseForJSON();
timeout=0
cid=0
- 执行aiTest模块的converseForJSONTest方法,参数是1, $validMessages, $validSchema @0
- 执行aiTest模块的converseForJSONTest方法,参数是999, $validMessages, $validSchema @0
- 执行aiTest模块的converseForJSONTest方法,参数是1, array @0
- 执行aiTest模块的converseForJSONTest方法,参数是1, $validMessages, $invalidSchema @0
- 执行aiTest模块的converseForJSONTest方法,参数是1, $validMessages, $validSchema, $options @0
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/ai.unittest.class.php';
su('admin');
$aiTest = new aiTest();
// 准备测试数据
$validMessages = array(
array('role' => 'user', 'content' => 'Generate a user profile with name and age')
);
$validSchema = (object)array(
'type' => 'object',
'properties' => (object)array(
'name' => (object)array('type' => 'string'),
'age' => (object)array('type' => 'integer')
),
'required' => array('name', 'age')
);
$invalidSchema = array();
$options = array('temperature' => 0.7, 'max_tokens' => 100);
r($aiTest->converseForJSONTest(1, $validMessages, $validSchema)) && p() && e('0');
r($aiTest->converseForJSONTest(999, $validMessages, $validSchema)) && p() && e('0');
r($aiTest->converseForJSONTest(1, array(), $validSchema)) && p() && e('0');
r($aiTest->converseForJSONTest(1, $validMessages, $invalidSchema)) && p() && e('0');
r($aiTest->converseForJSONTest(1, $validMessages, $validSchema, $options)) && p() && e('0');