принятый ответ правильный, но не содержит подробностей.
Maven
Добавьте элемент 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>
Требуется Java 8
AssertJ 3 требует Java 8 или новее.
Проверьте версию Java, используемую вашим компилятором. В Maven проверьте эту пару элементов:
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
person
Basil Bourque
schedule
27.01.2019