#kotlin #exception #intellij-idea #cucumber #cucumber-java
Вопрос:
Я пытаюсь запустить огурец (написанный на котлине) через intellij.
У меня есть класс определения шага, описанный следующим образом :
Когда я запускаю тест из Intellij, у меня есть это исключение для «Данного» метода: java.lang.Исключение IllegalStateException: Может разрешить тип возвращаемого значения лямбды в BusinessEventSteps.kt:19
При использовании «чистой установки mvn» из командной строки тест выполняется нормально.
Мое окружение:
- macOS
- Coretto 11.0.11
- Intellij 2021.1.1
- Котлин 1.4.10
- огурец 6.10.4
Комментарии:
1. Огурец ловит рыбу в постоянном бассейне, чтобы определить тип типов лямбды. Похоже, у Коррето неожиданная планировка. Я сомневаюсь, что это можно легко исправить или вообще исправить. Это означает, что вы должны использовать
cucumber-java
с Котлином вместоcucumber-java8
.2. Ну, самое странное, что он работает с использованием mvn в командной строке, а также работает на компьютере коллеги, единственное отличие, которое я вижу, заключается в том, что он работает в Windows. Поэтому я не уверен, что это имеет какое-то отношение к библиотеке огурцов.
3. Это зависит от используемой JVM. Ваша IDE, maven и коллега, вероятно, используют разные JVM.
4. Вы можете опубликовать свое решение в качестве ответа.
5. И понятия не имею, почему, кроме того, что я сказал. Огурец Java8 зависит от деталей реализации в JVM. Если ИДЕЯ не соответствует этим деталям, она не будет работать