Одиночная кавычка в двойном кавычке имя теста Спока приводит к «неожиданному токену», НО только при запуске с gradle и в качестве изолированного теста - PullRequest
0 голосов
/ 13 января 2019

Я только что установил intellij и скачал geb-example-grade (https://github.com/geb/geb-example-gradle). В настройках Intellij я настроил под gradle / runner: Запустить тестирование с помощью: Позвольте мне выбрать для теста. Затем я запустил тест "можно получить к текущей Книге Геба "с gradle, и она работала нормально, также хорошо работал класс GebishOrgSpec. Затем я добавил к имени метода теста одиночную кавычку, т.е." могу "попасть в текущую Книгу Геба". Запуск GebishOrgSpec Класс (содержащий этот тест) с Gradle по-прежнему работает нормально, но когда я запускаю тест с Gradle (то есть после Alt-Shift-F10 в меню «Выполнить», я выбираю «GebishOrgSpec.can», чтобы перейти к текущей книге Geb «instaead of» GebishOrgSpec ") я получаю следующую ошибку:

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
    }
}

Обновление: у меня было такое поведение на двух разных компьютерах, но я был бы признателен, если бы другие тоже проверяли это. Это должно быть довольно легко воспроизвести (если есть вопросы по описанию выше, дайте мне знать.) Может быть, у вас не будет ошибки, и у меня есть некоторые плохие конфигурации, или вы можете подтвердить эту ошибку, и мы привлекли к ней внимание.

...