提交qiming-mcp-proxy
This commit is contained in:
79
qiming-mcp-proxy/mcp-proxy/fixtures/import_jsr_example.js
Normal file
79
qiming-mcp-proxy/mcp-proxy/fixtures/import_jsr_example.js
Normal file
@@ -0,0 +1,79 @@
|
||||
import { assertEquals } from "jsr:@std/assert";
|
||||
import { delay } from "jsr:@std/async";
|
||||
import { bold, red, green } from "jsr:@std/fmt/colors";
|
||||
|
||||
// 使用JSR标准库中的工具函数
|
||||
async function runTests(input) {
|
||||
console.log(bold("开始运行测试..."));
|
||||
|
||||
// 使用delay函数模拟异步操作
|
||||
console.log("等待1秒...");
|
||||
await delay(1000);
|
||||
|
||||
// 测试结果数组
|
||||
const results = [];
|
||||
|
||||
// 测试1: 加法运算
|
||||
try {
|
||||
const a = input.a || 5;
|
||||
const b = input.b || 3;
|
||||
const expected = input.expected || 8;
|
||||
|
||||
console.log(`测试加法: ${a} + ${b} = ${expected}`);
|
||||
assertEquals(a + b, expected);
|
||||
|
||||
console.log(green("✓ 加法测试通过"));
|
||||
results.push({ name: "加法测试", success: true });
|
||||
} catch (error) {
|
||||
console.log(red(`✗ 加法测试失败: ${error.message}`));
|
||||
results.push({ name: "加法测试", success: false, error: error.message });
|
||||
}
|
||||
|
||||
// 测试2: 字符串操作
|
||||
try {
|
||||
const str1 = input.str1 || "hello";
|
||||
const str2 = input.str2 || "world";
|
||||
const expectedStr = input.expectedStr || "hello world";
|
||||
|
||||
console.log(`测试字符串连接: "${str1}" + " " + "${str2}" = "${expectedStr}"`);
|
||||
assertEquals(`${str1} ${str2}`, expectedStr);
|
||||
|
||||
console.log(green("✓ 字符串测试通过"));
|
||||
results.push({ name: "字符串测试", success: true });
|
||||
} catch (error) {
|
||||
console.log(red(`✗ 字符串测试失败: ${error.message}`));
|
||||
results.push({ name: "字符串测试", success: false, error: error.message });
|
||||
}
|
||||
|
||||
// 等待再次展示结果
|
||||
console.log("处理结果中...");
|
||||
await delay(500);
|
||||
|
||||
return results;
|
||||
}
|
||||
|
||||
export default async function handler(input) {
|
||||
console.log(bold("JSR依赖示例"));
|
||||
|
||||
// 运行测试
|
||||
const testResults = await runTests(input);
|
||||
|
||||
// 统计结果
|
||||
const passed = testResults.filter(r => r.success).length;
|
||||
const failed = testResults.filter(r => !r.success).length;
|
||||
|
||||
// 使用彩色输出显示结果
|
||||
console.log(bold("\n测试结果摘要:"));
|
||||
console.log(green(`通过: ${passed}`));
|
||||
console.log(failed > 0 ? red(`失败: ${failed}`) : green(`失败: ${failed}`));
|
||||
|
||||
return {
|
||||
message: '测试完成',
|
||||
results: testResults,
|
||||
summary: {
|
||||
total: testResults.length,
|
||||
passed,
|
||||
failed
|
||||
}
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user