Spock测试:Eclipse似乎没有重新识别Where子句中的数据变量

时间:2019-02-08 17:58:18

标签: eclipse groovy spock

我有一个使用where子句的Spock测试。在Eclipse中,使用Groovy Editor打开了测试文件,但是带下划线的是代码(“ testName”)和where子句(testNum和testName)中的数据变量。 Maven构建工作正常。

有人可以让我知道如何在Eclipse中解决此问题吗?

  @Unroll
  def 'Test #testNum'() {
      def tname = testName

      ......

      where:
         testNum  |  testName
          '1'     | 'test #1'
  }

2 个答案:

答案 0 :(得分:1)

我已经有一段时间没有使用Eclipse了,但是对于Eclipse来说,定义测试参数可能会减少一些困惑:

@Unroll
def 'Test #testNum'(String testNum, String testName) {

    def tname = testName

    ......

    where:
    testNum  |  testName
    '1'      | 'test #1'
}

答案 1 :(得分:0)

我可以通过运行Spock转换来消除下划线,将其添加到eclipse.ini的末尾:

-Dgreclipse.globalTransformsInReconcile=org.spockframework.compiler.SpockTransform

但是,推断出的testName类型是Object(请参见我在其他答案下的评论)

Eclipse Groovy editor with Spock test