代码之家  ›  专栏  ›  技术社区  ›  Rostislav V

spock的@unroll注释的目的是什么

  •  1
  • Rostislav V  · 技术社区  · 8 年前

    我很难理解 @Unroll Spock测试框架的注释。在文件中提到

    指示应使数据驱动功能的迭代可见 作为外部世界的独立功能(IDES、报表等)

    对我来说仍然没有什么意义。有人能用外行的话解释一下吗?

    2 回复  |  直到 8 年前
        1
  •  5
  •   Royg    8 年前

    @Unroll 将独立报告每个数据驱动的迭代,如中所示 Spock's website .
    我想补充一些关于使用 @展开 .


    如果您正在使用 @展开 还请自定义测试名称,它将帮助您处理报告,例如:

    @Unroll
      def "maximum of #a and #b is #c"() { ... }
    

    当使用 @展开 每个数据驱动的迭代都将被计算为一个“测试”,这意味着您的测试计数将增加。

    使用 @展开 如果您有数据驱动的测试。

        2
  •  1
  •   Rostislav V    8 年前

    精彩的描述 Spock's website . 我应该先看一下(实际上,排在第二位,在医生之后)。主要功能是,在发生故障时,报告将指明失败的测试数据,而不考虑其他情况。

    报告的变更

    输出将类似于

    maximum of two numbers[0]   PASSED
    maximum of two numbers[1]   FAILED
    
    Math.max(a, b) == c
        |    |  |  |  |
        |    7  0  |  7
        42         false
    
    maximum of two numbers[2]   PASSED