66 lines
2.6 KiB
PHP
66 lines
2.6 KiB
PHP
|
|
#!/usr/bin/env php
|
|||
|
|
<?php
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
|
|||
|
|
title=测试 aiModel::executePrompt();
|
|||
|
|
timeout=0
|
|||
|
|
cid=15022
|
|||
|
|
|
|||
|
|
- 步骤1:空prompt参数测试 @-1
|
|||
|
|
- 步骤2:无效prompt ID测试 @-1
|
|||
|
|
- 步骤3:空object参数测试 @-2
|
|||
|
|
- 步骤4:无效object ID测试 @-2
|
|||
|
|
- 步骤5:有效参数但缺少模型配置测试 @-4
|
|||
|
|
- 步骤6:有效参数但数据序列化失败测试 @-3
|
|||
|
|
- 步骤7:有效参数但schema配置错误测试 @-5
|
|||
|
|
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
|||
|
|
include dirname(__FILE__, 2) . '/lib/model.class.php';
|
|||
|
|
|
|||
|
|
// 创建ai_agent测试数据
|
|||
|
|
$promptTable = zenData('ai_agent');
|
|||
|
|
$promptTable->name->range('测试提示词1,测试提示词2,测试提示词3,测试提示词4,测试提示词5');
|
|||
|
|
$promptTable->module->range('story,task,bug,project,testcase');
|
|||
|
|
$promptTable->source->range('story.title,task.name,bug.title,project.name,testcase.title');
|
|||
|
|
$promptTable->targetForm->range('story.create,task.edit,bug.edit,project.edit,invalid.form');
|
|||
|
|
$promptTable->status->range('active,active,active,active,active');
|
|||
|
|
$promptTable->model->range('1,1,999,1,1');
|
|||
|
|
$promptTable->createdBy->range('admin');
|
|||
|
|
$promptTable->createdDate->range('`2023-01-01 10:00:00`');
|
|||
|
|
$promptTable->deleted->range('0');
|
|||
|
|
$promptTable->gen(5);
|
|||
|
|
|
|||
|
|
// 创建ai_model测试数据
|
|||
|
|
$modelTable = zenData('ai_model');
|
|||
|
|
$modelTable->type->range('openai,claude,gemini');
|
|||
|
|
$modelTable->vendor->range('openai,anthropic,google');
|
|||
|
|
$modelTable->name->range('测试模型1,测试模型2,测试模型3');
|
|||
|
|
$modelTable->credentials->range('test-key-1,test-key-2,test-key-3');
|
|||
|
|
$modelTable->createdBy->range('admin');
|
|||
|
|
$modelTable->createdDate->range('`2023-01-01 10:00:00`');
|
|||
|
|
$modelTable->enabled->range('1,1,1');
|
|||
|
|
$modelTable->deleted->range('0');
|
|||
|
|
$modelTable->gen(3);
|
|||
|
|
|
|||
|
|
// 创建基础测试数据
|
|||
|
|
zenData('story')->gen(3);
|
|||
|
|
zenData('storyspec')->gen(3);
|
|||
|
|
zenData('task')->gen(3);
|
|||
|
|
zenData('bug')->gen(3);
|
|||
|
|
zenData('project')->gen(3);
|
|||
|
|
|
|||
|
|
su('admin');
|
|||
|
|
|
|||
|
|
$aiTest = new aiModelTest();
|
|||
|
|
|
|||
|
|
r($aiTest->executePromptTest(null, 1)) && p() && e(-1); // 步骤1:空prompt参数测试
|
|||
|
|
r($aiTest->executePromptTest(999, 1)) && p() && e(-1); // 步骤2:无效prompt ID测试
|
|||
|
|
r($aiTest->executePromptTest(1, null)) && p() && e(-2); // 步骤3:空object参数测试
|
|||
|
|
r($aiTest->executePromptTest(1, 999)) && p() && e(-2); // 步骤4:无效object ID测试
|
|||
|
|
r($aiTest->executePromptTest(3, 1)) && p() && e(-4); // 步骤5:有效参数但缺少模型配置测试
|
|||
|
|
r($aiTest->executePromptTest(2, 900)) && p() && e(-3); // 步骤6:有效参数但数据序列化失败测试
|
|||
|
|
r($aiTest->executePromptTest(5, 1)) && p() && e(-5); // 步骤7:有效参数但schema配置错误测试
|