Spock测试名称的双引号测试名称中的单引号导致“意外令牌”,但仅在使用gradle和作为隔离测试运行时

时间:2019-01-13 02:01:01

标签: gradle intellij-idea groovy spock geb

我刚刚安装了intellij并下载了geb-example-grade(https://github.com/geb/geb-example-gradle)。在Intellij设置中,我在gradle / runner下配置:使用以下命令运行测试:让我为每个测试选择。然后,我用gradle进行了“可以到达当前的Geb之书”测试,并且运行GebishOrgSpec类也运行良好。然后我在测试的方法名称中添加了一个单引号,即“可以到达当前的Geb书”。使用gradle运行GebishOrgSpec类(包含该测试)仍然可以正常工作。但是,当我用gradle进行测试时(即在运行菜单中的Alt-Shift-F10之后,选择“ GebishOrgSpec”的“ GebishOrgSpec.can'可以到达当前的Geb Book”),我得到以下错误:

FAILURE: Build failed with an exception.
* Where:
Initialization script '/tmp/ijtestinit3.gradle' line: 6
* What went wrong:
Could not compile initialization script '/tmp/ijtestinit3.gradle'.
> startup failed:
  initialization script '/tmp/ijtestinit3.gradle': 6: unexpected token: get @ line 6, column 49.
     ludes = ['GebishOrgSpec.can ' get to the
                                   ^
  1 error
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 0s
Cause: startup failed:
initialization script '/tmp/ijtestinit3.gradle': 6: unexpected token: get @ line 6, column 49.
   ludes = ['GebishOrgSpec.can ' get to the
                                 ^
1 error

我还尝试使用Junit运行测试(设置驱动程序路径后),该测试也可以正常工作。对我来说,完全相同的测试在运行类时有效,而在运行类的方法时却无效。在这里也要完整地填写类代码:

import geb.spock.GebSpec
class GebishOrgSpec extends GebSpec {
        def "can ' get to the current Book of Geb"() {
        when:
        to GebishOrgHomePage

        and:
        manualsMenu.open()

        then:
        manualsMenu.links[0].text().startsWith("current")

        when:
        manualsMenu.links[0].click()

        then:
        at TheBookOfGebPage
    }
}

更新:我在两台不同的计算机上都有此行为,但是如果其他人也对此进行了测试,我将不胜感激。复制起来应该相当容易(如果上面的描述中有问题,请告诉我。)也许您不会出现该错误,并且我的配置有些错误,或者您可以确认此错误,因此我们会引起注意。

0 个答案:

没有答案