Metadata 如何在jbehave故事中保存元数据

Metadata 如何在jbehave故事中保存元数据,metadata,jbehave,Metadata,Jbehave,我们希望使用JBehave编写自动化系统测试。 企业政策要求所有系统测试都必须在HP ALM中记录和跟踪(具体的工具实际上并不重要,但我希望在评论中给予一些同情:-)。因此,我们被要求在JBehave故事中保留对HP ALM条目的引用(Link/ID) 到目前为止,我看到了以下方法: 使用或使用注释: !-- ALM:4711 Given ... 但这仅在故事文件中可见。它永远不会出现在真正有用的报告中 在故事的结尾,可能使用加法进行一个伪步骤: Given ... When ... Then

我们希望使用JBehave编写自动化系统测试。 企业政策要求所有系统测试都必须在HP ALM中记录和跟踪(具体的工具实际上并不重要,但我希望在评论中给予一些同情:-)。因此,我们被要求在JBehave故事中保留对HP ALM条目的引用(Link/ID)

到目前为止,我看到了以下方法:

  • 使用或使用注释:

    !-- ALM:4711
    Given ...
    
    但这仅在故事文件中可见。它永远不会出现在真正有用的报告中

  • 在故事的结尾,可能使用加法进行一个伪步骤:

    Given ...
    When ...
    Then ...
    And this implements ALM 4711
    
    这使得引用可以在代码和报告中使用,这是很好的,但它感觉很脏,因为它显然不是任何类型的真实断言

  • 有没有更好的方法在故事中使用这种元数据?也许可以定义一个自定义关键字以获得如下内容:

        Given ...
        When ...
        Then ...
        ALM-Ref 4711
    

    我的建议是使用Meta,它可以应用于故事和场景级别。通过这种方式,您可以按它们进行筛选,并将其包含在报告中

    例如:

    元: @ALM 4711

    场景:我的场景 元: @忽略错误
    @ALM 4712很好。这也是我的选择。你知道为什么会显示故事级的元属性,但不会显示场景的元属性吗?在调试模式下,我可以看到它们甚至没有被收集用于报告,但我可以在步骤定义中引用它们。