シンプルな SpringBoot DB ユニット リポジトリ テストを作成しようとしていますが、次の結果が得られます。
NoSuchBeanDefinitionException: タイプ 'example.ItemRepository' の適格な Bean がありません: オートワイヤー候補として適格な Bean が少なくとも 1 つ必要です。依存関係アノテーション: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
私のGradle依存関係
compile('org.springframework.boot:spring-boot-starter-data-jpa')
runtime('com.h2database:h2')
testCompile("junit:junit")
testCompile("org.assertj:assertj-core:3.8.0")
testCompile('org.springframework.boot:spring-boot-starter-test')
testCompile("org.dbunit:dbunit:2.4.9")
testCompile("com.github.springtestdbunit:spring-test-dbunit:1.0.0")
私のリポジトリitem-repository/src/main/java/example/ItemRepository
@Component
public interface ItemRepository extends CrudRepository<Item, Long> {
}
でのマイ リポジトリ テストitem-repository/src/test/java/example/ItemRepositoryTest
@TestExecutionListeners({DependencyInjectionTestExecutionListener.class, DirtiesContextTestExecutionListener.class,
TransactionalTestExecutionListener.class, DbUnitTestExecutionListener.class})
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = RepositoryTestConfiguration.class)
@DirtiesContext
public class ItemRepositoryTest {
@Autowired
private ItemRepository repository;
@Test
@DatabaseSetup("Empty.xml")
public void save() {
// Given
Item item = new Item
// When
Item response = repository.save(item);
// Then
assertThat(response.getId()).isNotNull();
}
}
私のテスト構成item-repository/src/main/test/example/configuration/RepositoryTestConfiguration
@Configuration
public class RepositoryTestConfiguration {
}
これを機能させるには、my に何を含める必要がありRepositoryTestConfiguration
ますか?
注:リポジトリをクラスとは別のモジュールに保持しているApplication
ため、テスト構成でそのクラスを参照できません