You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

会C#单元测试,如何为TypeScript代码编写测试用例?

TypeScript单元测试用例示例(对应你C#的计算器类)

先写出对应C# Calculate 类的TypeScript实现:

// calculate.ts
export class Calculate {
  Add(a: number, b: number): number {
    return a + b;
  }

  Subtract(a: number, b: number): number {
    return a - b;
  }
}

下面用目前最流行的Jest测试框架编写单元测试,结构和你C#的测试逻辑完全对应:

// calculate.test.ts
import { Calculate } from './calculate';

// 对应C#的[TestClass]
describe('Calculate类', () => {
  let calculator: Calculate;

  // 对应C#的[TestInitialize],每次测试前初始化实例
  beforeEach(() => {
    calculator = new Calculate();
  });

  // 分组测试Add方法,对应C#里按方法分组的测试
  describe('Add方法', () => {
    // 对应C#的[TestMethod]
    it('两个正数相加应返回正确的和', () => {
      const result = calculator.Add(2, 3);
      expect(result).toBe(5);
    });

    it('正数加负数应返回正确结果', () => {
      const result = calculator.Add(5, -2);
      expect(result).toBe(3);
    });

    it('互为相反数相加应返回0', () => {
      const result = calculator.Add(-4, 4);
      expect(result).toBe(0);
    });
  });

  // 分组测试Subtract方法
  describe('Subtract方法', () => {
    it('两个正数相减应返回正确的差', () => {
      const result = calculator.Subtract(5, 3);
      expect(result).toBe(2);
    });

    it('减去负数应返回正确结果(等价于加正数)', () => {
      const result = calculator.Subtract(3, -2);
      expect(result).toBe(5);
    });

    it('小数减大数应返回负数', () => {
      const result = calculator.Subtract(2, 5);
      expect(result).toBe(-3);
    });
  });
});

快速上手步骤:

  1. 安装依赖:在项目根目录执行
    npm install --save-dev jest typescript ts-jest @types/jest
    
  2. 生成Jest配置文件:
    npx ts-jest config:init
    
  3. 运行测试:
    npx jest
    

这个测试结构和你C#的测试逻辑一一对应:describe 对应C#的TestClass,it对应TestMethod,beforeEach对应TestInitialize,expect(result).toBe(xxx)对应C#的Assert.AreEqual(xxx, result)。

内容的提问来源于stack exchange,提问作者Sanjay G

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 09:12:49