gpt4 book ai didi

spring-boot - 无法使用 Spring Boot Test 测试自定义存储库

转载 作者:行者123 更新时间:2023-12-05 07:44:53 29 4
gpt4 key购买 nike

我正在使用 Spring Boot 1.4.4。关注了Spring Boot Test单元测试文章。当我有自定义存储库时,测试不工作并失败并出现错误 UnsatisfiedDependencyException: Error creating bean with name 'com.jay.UserRepositoryTest': Unsatisfied dependency expressed through field 'userRepository';

这是我的代码,

@Repository
@Transactional
public class UserRepository {

@Autowired
private EntityManager entityManager;

// sample code for custom repo. can be done easily in CrudRepo
public User findUser(String name){

TypedQuery<User> q = entityManager.createQuery("Select u from User u Where u.name = :name", User.class);
q.setParameter("name", name);

return q.getSingleResult();
}
}

@RunWith(SpringRunner.class)
@DataJpaTest
public class UserRepositoryTest {

@Autowired
private TestEntityManager entityManager;

@Autowired
private UserRepository userRepository;

@Test
public void findUserTest(){
...
}
}

但我可以在不更改任何配置的情况下使用 Spring Boot 测试以下 Dao,

@Transactional
public interface UserDao extends CrudRepository<User, Long> {

User findByEmail(String email);
}

当我使用 @SpringBootTest 时,我可以注入(inject) UserRepository,但不能注入(inject) TestEntityManager

最佳答案

在Spring Boot Test的Github上发了同样的问题得到了回复。引用this

关于spring-boot - 无法使用 Spring Boot Test 测试自定义存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42479538/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com