znt/module/ai/test/model/executeprompt.php

66 lines
2.6 KiB
PHP
Raw Permalink Normal View History

#!/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配置错误测试