Skip to content

How do you test a reactive mongo repository?

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

class UserRepositoryTest {

    private UserRepository repository;

    void findByPhoneNumber() {
        val phoneNumber = "11111 111111";

        val user ="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 😀


I was missing the @DataMongoTest annotation