I’m trying to test the findByPhoneNumber
method in this repository
public interface UserRepository extends ReactiveMongoRepository<User, String> { Mono<User> findByPhoneNumber(String phoneNumber); }
ATM, my test looks like this
@ExtendWith(SpringExtension.class) class UserRepositoryTest { @Autowired private UserRepository repository; @Test void findByPhoneNumber() { val phoneNumber = "11111 111111"; val user = repository.save(User.builder().phoneNumber(phoneNumber).password("password").build()); assertEquals(user, repository.findByPhoneNumber(phoneNumber)); } }
When I run it, I get this error
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'io.freesale.repository.UserRepositoryTest': Unsatisfied dependency expressed through field 'repository'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'io.freesale.repository.UserRepository' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
I’m a Spring noob so please don’t bully me too hard 😀
Advertisement
Answer
I was missing the @DataMongoTest
annotation