Невозможно запустить модульные тесты со Snakeyaml в IntelliJ - PullRequest
2 голосов
/ 22 апреля 2011

Я создал компонент Java, который читает файл YAML, используя SnakeYaml.Я использую среду IntelliJ с подключаемым модулем Maven, а мой проект построен с использованием pom-файла Maven.Когда я запускаю тестовый проект Maven, все мои модульные тесты проходят успешно.Однако, когда я запускаю модульные тесты непосредственно в IntelliJ, они терпят неудачу.

В частности, вызов нового Yaml (myConstructor) ниже вызывает исключение:

Constructor myConstructor = new Constructor(....)
Yaml yaml = new Yaml(myConstructor)

Конкретное исключение:

java.lang.NoSuchMethodError: org.yaml.snakeyaml.Yaml. (Lorg / yaml / snakeyaml / constructor / BaseConstructor;) V

Есть идеи?

Ответы [ 3 ]

2 голосов
/ 28 сентября 2015

Это происходит из-за плагина TestNG. Это проблема как для IntelliJ, так и для Eclipse.

Легко решается двумя способами:

  1. Обновите до последней версии плагина TestNG для выбранной вами IDE, надеясь, что поставленная версия не будет конфликтовать с той, которая требуется для вашего проекта
  2. Включите «Использовать Project TestNG jar» в Eclipse (или эквивалент IntelliJ). Этот параметр доступен в разделе TestNG конкретных параметров проекта.

Второй способ предпочтительнее, поскольку зависимостями TestNG будет управлять ваш инструмент сборки (вы используете инструмент сборки, верно?!), И у вас намного больше гибкости.

1 голос
/ 02 декабря 2013

у меня ниже работает

<dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.2</version>
            <type>jar</type>
            <exclusions>
                <exclusion>
                    <artifactId>snakeyaml</artifactId>
                    <groupId>org.yaml</groupId>
                </exclusion>
            </exclusions>
        </dependency>
1 голос
/ 25 апреля 2011

Взгляните на file -> proj structure -> artifact с.Там может быть ошибка.Просто нажмите на кнопку «Исправить».Также попробуйте воссоздать итерационный проект из конфигурации maven.Обычно возникают проблемы с областями применения библиотек, например TEST/PROVIDED.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...