Я хочу добавить тестовую среду в мой текущий проект maven в IntelliJ.
Я выбираю AsserJ, потому что стиль выглядел лучше всего для меня. Я попробовал их учебник, но он не может предоставить достаточную помощь. (http://joel-costigliola.github.io/assertj/assertj-core-quick-start.html)
Мои проблемы заключаются в том, что объем "теста" недостаточно объяснен. С этой областью я не могу даже импортировать необходимые файлы AsserJ. Когда я пытаюсь "импортировать статические org.assertj.core.api.Assertions. *;", Импорт не распознается и в нем говорится, что утверждения не могут быть разрешены.
Любые предложения, которые могут помочь?
Какова структура вашего кода?
https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html может помочь.
Область "Тестирование" импортирует библиотеки, доступные только для классов, находящихся под управлением src/test/java
Принятый ответ правильный, но не содержит подробностей.
Добавьте свой элемент dependency
для AssertJ в элемент dependencies
вашего POM.
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.11.1</version>
<scope>test</scope>
</dependency>
<scope>test</scope>
Если вы пытаетесь использовать утверждения AssertJ вне тестовых классов, в ваших обычных классах приложения, обратите внимание на элемент scope
. Эта тема обсуждалась в закрытом билете № 520 на трекере проблем AssertJ.
Когда зависимость Maven несет scope
элемента со значением test
, это означает, что вы не можете использовать эту библиотеку за пределами тестовой конкретного источника пакета/папки.
Если вы пытаетесь вызвать AssertJ из кода в иерархии папок ваших примеров проектов src/main/java/…
, вы увидите эту ошибку. Если вы позвоните AssertJ из src/test/java…
, вы увидите успех.
Чтобы включить AssertJ в иерархии папок src/main/java/…
, удалите элемент scope
в зависимости POM. Итак, это:
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.11.1</version>
<scope>test</scope>
</dependency>
… Становится таким:
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.11.1</version>
</dependency>
AssertJ 3 требует Java 8 или новее.
Проверьте версию Java, используемую вашим компилятором. В Maven проверьте эту пару элементов:
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>