step by step YAML 复用

yaml文件适合用来描述软件测试过程的步骤。当不同类型的CI过程集中在一个yaml文件时,首先碰到的一个问题是:大量重复的步骤如何进行复用?

举个例子:

  stage1:
    run_it:
      exec:
      - A
      - B
      - C
      - D1
  stage2:
    run_it:
      exec:
      - A
      - B
      - C
      - D2

显然,ABC步骤重复了。如果确定对于不同stage,ABC都是必备步骤。那么可以如下处理:

首先,将相同的步骤抽取成step:

  stage1:
    prepare:
      exec:
      - A
      - B
      - C
    run_it:
      exec:
      - D1
  stage2:
    prepare:
      exec:
      - A
      - B
      - C
    run_it:
      exec:
      - D2

然后,设定锚点标记:

  common: &common
    prepare:
      exec:
      - A
      - B
      - C
  stage1:
    prepare:
      exec:
      - A
      - B
      - C
    run_it:
      exec:
      - D1
  stage2:
    prepare:
      exec:
      - A
      - B
      - C
    run_it:
      exec:
      - D2

最后,使用锚定标记替换公共部分:

  common: &common
    prepare:
      exec:
      - A
      - B
      - C
  stage1:
    <<: *common
    run_it:
      exec:
      - D1
  stage2:
    <<: *common
    run_it:
      exec:
      - D2

关于yaml的锚定标记,哈希合并可以参考:http://zh.wikipedia.org/wiki/YAML

你可能感兴趣的:(软件测试)