小编tun*_*unc的帖子

UnsatisfiedDependencyException:在 Junit 测试中创建名为“repository.BookRepositoryTest”的 bean 时出错

我正在为 Spring 数据存储库编写 junit 测试。但我无法自动装配存储库接口。如果我运行 main 方法,并且 spring 可以检测到所有存储库、服务、实体,则程序正在运行,但如果我运行测试,则会出现以下错误:

UnsatisfiedDependencyException:创建名称为“repository.BookRepositoryTest”的 bean 时出错:通过字段“bookRepository”表达的依赖关系不满足;嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException:没有可用的“app.repository.BookRepository”类型的合格 bean:预计至少有 1 个符合自动装配候选资格的 bean。依赖注释:{@org.springframework.beans.factory.annotation.Autowired(required=true)}

@RunWith(SpringRunner.class)
@SpringBootTest(classes={BookRepository.class})
public class BookRepositoryTest
{
    @Autowired
    private BookRepository bookRepository;
    @Test
    public void save()
    {
        Book book=new Book();
        bookRepository.save(book);
    }
}
Run Code Online (Sandbox Code Playgroud)
public interface BookRepository extends JpaRepository<Book,Integer>
{
    Book findByName(String name);
}
Run Code Online (Sandbox Code Playgroud)

项目结构:

src
    main
        java
            app
                entity
                    Book.java
                repository
                    BookRepository.java
                service
                    BookService.java
                App.java
        resources
            application.properties
        webapp
    test
        java
            repository
                BookRepositoryTest.java
Run Code Online (Sandbox Code Playgroud)
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'repository.BookRepositoryTest': Unsatisfied dependency expressed through field 'bookRepository'; …
Run Code Online (Sandbox Code Playgroud)

java junit spring spring-boot

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

java ×1

junit ×1

spring ×1

spring-boot ×1