Tool Hub

测试骨架生成

TS 函数签名 → vitest/jest/node-test 含边界用例的测试骨架

Test skeleton
import { describe, expect, test } from "vitest";
import { add } from "./add";

describe("add", () => {
  test("a=0 (number) — TODO describe", () => {
    const result = add(0, /* b */);
    expect(result).toBeDefined();
  });

  test("a=-1 (number) — TODO describe", () => {
    const result = add(-1, /* b */);
    expect(result).toBeDefined();
  });

  test("a=Number.MAX_SAFE_INTEGER (number) — TODO describe", () => {
    const result = add(Number.MAX_SAFE_INTEGER, /* b */);
    expect(result).toBeDefined();
  });

  test("a=Number.NaN (number) — TODO describe", () => {
    const result = add(Number.NaN, /* b */);
    expect(result).toBeDefined();
  });

  test("a=Infinity (number) — TODO describe", () => {
    const result = add(Infinity, /* b */);
    expect(result).toBeDefined();
  });

  test("b=0 (number) — TODO describe", () => {
    const result = add(/* a */, 0);
    expect(result).toBeDefined();
  });

  test("b=-1 (number) — TODO describe", () => {
    const result = add(/* a */, -1);
    expect(result).toBeDefined();
  });

  test("b=Number.MAX_SAFE_INTEGER (number) — TODO describe", () => {
    const result = add(/* a */, Number.MAX_SAFE_INTEGER);
    expect(result).toBeDefined();
  });

  test("b=Number.NaN (number) — TODO describe", () => {
    const result = add(/* a */, Number.NaN);
    expect(result).toBeDefined();
  });

  test("b=Infinity (number) — TODO describe", () => {
    const result = add(/* a */, Infinity);
    expect(result).toBeDefined();
  });
});

使用方法

  1. 在输入字段中输入 TypeScript 函数签名。
  2. 选择测试框架:Vitest、Jest 或 node:test。
  3. 在输出区域读取生成的骨架 — 它包括一个 describe 块、每个预期行为的 it 块和类型化参数存根。
  4. 复制骨架并将其粘贴到测试文件中以填写断言。

示例

  • 输入"function add(a: number, b: number): number",选择 Vitest,会生成一个 describe('add') 块,带有 it('should return a number') 存根和类型化参数。
  • 切换到 Jest 会生成相同的结构,使用 jest.expect 语法而不是 Vitest 的。

生产环境使用前请验证输出。无担保 — 参见 条款.