groovy 在IntelliJ IDEA中进行调试时,无法在“求值表达式”对话框中访问Spock测试的变量

n3h0vuf2  于 2022-11-01  发布在  IntelliJ IDEA
关注(0)|答案(1)|浏览(111)

在下面的斯波克测试中:

def 'simple assertion'() {
    expect:
    Math.max(a, b) == max

    where:
    a | b | max
    3 | 5 | 5
    4 | 9 | 9
    }

在expect区块的程式码行中设定中断点时,两柴时无法从[评估运算式...]对话方块存取变数(a, b)的值。传回的例外状况为:

groovy.lang.MissingPropertyException: No such property: a, b for class: DUMMY

唯一的解决方法是手动将数据从where部分复制到求值表达式对话框中。
如何使用evaluate expression而不必从测试的where部分手动复制值?
我正在使用IntelliJ IDEA Ultimate 2022.1,它运行在MacOS 12 Monterey上,并使用Groovy版本4和Gradle作为构建工具。

svujldwt

svujldwt1#

当我显式声明参数时,它对我很有效。

def 'simple assertion'(int a, int b, int max) {
    expect:
    Math.max(a, b) == max

    where:
    a | b | max
    3 | 5 | 5
    4 | 9 | 9
}

相关问题