Files
sbnews/qa/backend/test_deepseek_client_invalid_response.php
T
2026-06-11 16:22:12 +08:00

28 lines
815 B
PHP

<?php
use app\common\service\ai\DeepSeekClient;
require __DIR__ . '/../../server/vendor/autoload.php';
function fail(string $message): void
{
fwrite(STDERR, $message . PHP_EOL);
exit(1);
}
$client = (new ReflectionClass(DeepSeekClient::class))->newInstanceWithoutConstructor();
$method = new ReflectionMethod(DeepSeekClient::class, 'extractResponsesContent');
$method->setAccessible(true);
try {
$content = $method->invoke($client, null);
} catch (Throwable $e) {
fail('Responses 返回体解析遇到 null 时不应抛异常: ' . get_class($e) . ' ' . $e->getMessage());
}
if ($content !== '') {
fail('Responses 返回体为 null 时应解析为空字符串,实际为: ' . var_export($content, true));
}
echo 'DeepSeekClient 非 JSON/null 返回体解析防护测试通过' . PHP_EOL;