方法 assertThat(List<Flight>) 未定义类型 SpringDataOverviewApplicationTestsJava(67108964)

The method assertThat(List<Flight>) is undefined for the type SpringDataOverviewApplicationTestsJava(67108964)

我正在尝试学习有关 JPA 的 pluralsight 演示课程,但我刚刚构建的测试在 assertThat 方法上抛出错误,我无法弄清楚原因。我确定这非常明显,但我无法在此处或 java 文档示例中找到解决方案。新的一年请大家帮忙

错误信息

The method assertThat(List<Flight>) is undefined for the type SpringDataOverviewApplicationTestsJava(67108964)

代码

package com.pluralsight.springdataoverview;

import java.time.LocalDateTime;
import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.TypedQuery;

import com.pluralsight.springdataoverview.entity.Flight;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.boot.test.context.SpringBootTest;


@DataJpaTest
class SpringDataOverviewApplicationTests {

    @Autowired
    private EntityManager entityManager;

    @Test
    public void verifyFlightCanBeSaved() {
        final Flight flight = new Flight();
        flight.setOrigin("Amsterdam"); 
        flight.setDestination("New york");
        flight.setScheduledAt(LocalDateTime.parse("2011-12-13T12:12:00"));

        entityManager.persist(flight);

        final TypedQuery<Flight> results = entityManager
            .createQuery("SELECT f FROM Flight f", Flight.class);

            final List<Flight> resultList = results.getResultList();

            assertThat(resultList)
                .hasSize(1)
                .first()
                .isEqualTo(flight);
    }

}

务必静态导入使用的断言方法:

import static org.assertj.core.api.Assertions.assertThat;

请注意,还需要存在 assertj 依赖项,因此请声明它,例如通过 gradle: testImplementation("org.assertj:assertj-core:3.22.0")

https://assertj.github.io/doc/