JPA Repository null в тестах junit - PullRequest
       13

JPA Repository null в тестах junit

0 голосов
/ 11 декабря 2018

Я пытаюсь написать очень простой тест для своего репозитория / классов обслуживания, но по причинам, которые я не могу понять, мой автонастроенный репозиторий всегда нулевой.

Вот класс Репо

public interface RuleRepository extends JpaRepository<Rule, UUID> {   
    public Optional<Rule> findByName(String name);
}

И тест

@DataJpaTest
@ContextConfiguration(classes = MyApplication.class)
public class RulesTest {
    @Autowired
    private RuleRepository ruleRepository;  

    @Test
    public void testSaveOneRule() {
        if (ruleRepository == null) {
            System.err.println("HERE");
            assertTrue(true);
        } else {
              assertTrue(false);
          }
    }
}

У кого-нибудь есть идеи?Тест всегда проходит ...

Редактировать: Я не уверен, что это ошибка, которая заслуживает нового сообщения или нет, но работает с аннотацией @RunWith(SpringRunner.class) выдает ошибку RulesTest.testSaveOneRule ? IllegalState Failed to load ApplicationContext...

Содержимое MyApplication.class

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MyApplication {

    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }
}

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Для тестирования репозиториев вы должны иметь аннотации:

@DataJpaTest 
@RunWith(SpringRunner.class) 
@SpringBootTest(classes=MyApplication.class)
0 голосов
/ 11 декабря 2018

Я замечаю, что вы пропустили эту аннотацию @RunWith (SpringRunner.class)

Я следил за этой страницей, и я мог бы сделать это https://grokonez.com/testing/datajpatest-with-spring-boot

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...