IntelliJ + Groovy + Spock

Я пытался создать Заводной проект с тестированием Спока в IntelliJ IDEA.

вот шаги, которые я следовал:

  1. создан проект Groovy и добавлена поддержка Maven.
  2. добавлены зависимости Спока и плагин. Я использую POM, очень похожий на этот: https://github.com/mariuszs/java-spock-test-sample/blob/master/pom.xml
  3. из-за конфликтующей зависимости Groovy я удалил библиотеку Groovy 2.2 из модуля Настройки->Библиотеки. Это позволило мне провести тесты.
  4. Я создал класс Groovy в "src / main".. но я получаю ошибку, когда пытаюсь ее запустить:

Groovyc: Cannot compile Groovy files: no Groovy library is defined for module...

Я, вероятно, чего-то не хватает, потому что я устал от попыток различных конфигураций в течение половины дня.

4 ответов


для полностью заводного проекта попробуйте GMavenPlus

пример проекта:https://github.com/mariuszs/groovy-maven-sample

установить GMavenPlus IntelliJ Плагин. IntelliJ не распознает исходные каталоги src/main/groovy, настройте это вручную, как показано ниже в окне настройки проекта - > модули:.

groovy source code

конфигурация

<project>
  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.gmavenplus</groupId>
        <artifactId>gmavenplus-plugin</artifactId>
        <version>1.5</version>
        <executions>
          <execution>
            <goals>
              <goal>compile</goal>
              <goal>testCompile</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>org.codehaus.groovy</groupId>
      <artifactId>groovy-all</artifactId>
      <version>2.4.4</version>
    </dependency>
    <dependency>
        <groupId>org.spockframework</groupId>
        <artifactId>spock-core</artifactId>
        <version>1.0-groovy-2.4</version>
        <scope>test</scope>
    </dependency>     
  </dependencies>
</project>

было два шага к исправлению (сломанного) проекта:

  1. обновите зависимость groovy-all до версии 2.2.1, которую я установил на своей машине.
  2. в "имя_проекта.iml " файл заменить

orderEntry type=" library "exported= "" scope=" TEST "name=" Maven: орг.codehaus.groovy:groovy-all: 2.2.1 "level= "project"

С этим:

<orderEntry type="library" name="groovy-2.2.1" level="application" />

эта ситуация была вызвана двумя факторами: я новичок в IDE и тот факт, что все работает, даже когда вы неправильно настраиваете проект. Я все еще думаю, что этот Q&A может быть полезен кому-то в будущем.


недавно у меня была проблема "не удается скомпилировать файлы Groovy: для модуля не определена библиотека Groovy". Мне нужно было пометить мой тестовый каталог groovy как "корень тестовых источников" в IntelliJ.

щелкните правой кнопкой мыши на dir -- > отметить каталог как --> Test Sources Root


для меня решением было открыть .groovy файл в определенной папке / модуле, а затем идея дала небольшое всплывающее окно, показывающее, что Groovy SDK не настроен. Затем я нажал на configure - > OK и вуаля.