Я думаю, что Autowiring KanjiRepo достаточно в вашем тестовом классе, если вы не аннотируете свой репозиторий как @ Repository.
@Repository
public interface KanjiRepo extends JpaRepository....
Если у вас есть @ Repository аннотация поверх KanjiRepo и если вы аннотировали свой основной класс или класс конфигурации для автоматического сканирования bean-компонентов;Spring будет успешно обрабатывать создание и автоматическое подключение bean-компонентов.
Пожалуйста, проверьте для сканирования компонентов
@SpringBootApplication
// or @ComponentScan
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
И затем вы можете создать свой тестовый класс с помощью следующего кода:
@Autowired
KanjiRepo repo;
@Test
public void testFindById() {
Kanji instance = repo.findById(0L);
assert.....
}
должно быть в порядке.
Может ли приложение и JUnit использовать одни и те же файлы конфигурации?
Собственно, так и есть.Но если вы выполняете компонентное сканирование, вам не нужно об этом беспокоиться.Spring будет обрабатывать, где находится ваш bean-компонент, и он должен автоматически подключаться.
Могу ли я также использовать @Autowire для создания объектов, реализующих интерфейсы в том же пакете, что и KanjiRepo?
Spring выполнит сканирование компонентов и определит, где находится ваш репозиторий, так что вам не нужно беспокоиться о том, где вы находите свой репозиторий.