Skip to content

测试用例命名

建议

让测试用例的名称可以对应需求的每一个细节, 包含以下部分:

  • 被测的功能
  • 在什么条件下
  • 期望的结果

假设下面是一个需求文档:

钱包服务的支付功能:

1. 如果用户输入金额大于需要支付的金额, 则提示找回的零钱和"支付成功"
2. 如果用户输入金额等于需要支付的金额, 则提示"支付成功"
3. 如果用户输入金额小于需要支付的金额, 则提示需要补足的金额和"支付失败"

将上面需求文档转化成测试用例, 如下:

ts
describe('钱包服务 - Wallet Service', () => {
  describe('支付 - Payment Method', () => {
    it('如果用户输入金额大于需要支付的金额, 则提示找回的零钱和"支付成功"', () => {
      // 测试代码
    })
    it('如果用户输入金额等于需要支付的金额, 则提示"支付成功"', () => {
      // 测试代码
    })

    it('如果用户输入金额小于需要支付的金额, 则提示需要补足的金额和"支付失败"', () => {
      // 测试代码
    })
  })
})

否则

如果测试用例随便命名且没有任何分类整理, 在该测试用例失败后, 很难快速一眼定位到问题所在, 比如:

ts
it('提示找回的零钱和"支付成功"', () => {
  // 测试代码
})

it('提示"支付成功"', () => {
  // 测试代码
})

it('提示需要补足的金额和"支付失败"', () => {
  // 测试代码
})

示例

src/best-practices/test-case-naming.test.ts