UnsatisfiedDependencyException для @ DataNeo4jTest - PullRequest
0 голосов
/ 21 февраля 2020

Я пытаюсь протестировать свой код с Spring-Boot Neo4j, но у меня появляется ошибка типа org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'com.sha.neo4j.service.UserServiceTest': Unsatisfied dependency expressed through field 'userService'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.sha.neo4j.service.UserService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

Зависимости;

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-neo4j'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation('org.springframework.boot:spring-boot-starter-test') {
        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
    }
    testImplementation 'org.neo4j.test:neo4j-harness:4.0.0'
    testImplementation 'org.neo4j:neo4j-ogm-embedded-driver:3.2.8'
}

И тестовый класс;

@RunWith(SpringRunner.class)
@DataNeo4jTest
public class UserServiceTest
{
    @Autowired
    private UserService userService;

    @Test
    public void testIt()
    {
        User user = new User();
        user.setLastName("Test");
        user.setName("Test");
        userService.saveUser(user);

        List<User> users = userService.findAll();

        assertThat(users).hasSize(1);
    }
}

Здесь я просто пытаюсь протестировать приведенный выше код со встроенным драйвером, но у меня есть ошибка, как указано выше. У меня нет c свойств (test application.properties) для теста. Тест работает с настольным драйвером neo4j.

Есть какие-нибудь предложения?

1 Ответ

1 голос
/ 21 февраля 2020

Вы должны использовать @SpringBootTest поверх ваших тестов. @DataNeo4jTest не загружает никаких необходимых услуг.

...