Spring bootで作成したアプリケーションのテストを行う際に、
そのアプリケーションで使用しているRepositoryクラスを用いてテスト用データを登録したり、Injectionを行いたい場合があります。
その際に基礎となるアノテーションについて書きます。
大体はここに書いてあるのですが、
まずはspring-testへの依存関係を記載します。
(build.gradle)
dependencies { ... testCompile 'org.springframework:spring-test:4.0.8.RELEASE' }
テストクラスに対しては、SpringJUnit4ClassRunnerをTestRunnerとすることと、
@SpringApplicationConfigurationでSpring bootのApplicationConfigurationの指定を行います。
これでconfigurationに書いたPackageScanやEntityScanの設定が有効になり、
@AutowiredでInjectionすることが可能になります。
@RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(classes = Application.class) public class RecurringTest extends TestCase { @Autowired HogeRepository hogeRepository; @Test public void test2() throws Exception { Hoge hoge = hogeRepository.findOne("hoge"); ... } }
コメント