2016-11-18 5 views
2
@RunWith(SpringRunner.class) 
@SpringBootTest(classes=Application.class) 
public class MyTest { 

    @Autowired AppsRepo appRepo; 
    @Autowired OrdersRepo ordersRepo; 

    @Test 
    public void doTest() { 
     System.out.println("hello world"); 
    } 
} 


@SpringBootApplication 
@ComponentScan 
public class Application { 

    private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(Application.class); 


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

} 

私は非常に単純な統合テスト、hibernateとpostgresqlデータベースを持っています。わずか2つのリポジトリと1つのコントローラ。この統合テストの実行には約62秒かかります。フードの下で何が起こっているのですか?スプリングブート休止スロースタートアップ

ドメインオブジェクトは2つしかなく、リポジトリは2つしかありません。テストをスピードアップする方法はありますか?ほとんどの時間は、62から

40秒を休止状態で撮影しているがそこに費やされているように見える -

2016-11-18 15:58:52.264 INFO 8424 --- [restartedMain] org.hibernate.dialect.Dialect   : HHH000400: Using dialect: org.hibernate.dialect.PostgreSQL92Dialect 
2016-11-18 15:59:31.528 DEBUG 8424 --- [restartedMain] o.h.e.j.env.spi.IdentifierHelperBuilder : JDBC driver metadata reported database stores quoted identifiers in neither upper, lower nor mixed case 
+0

あなたは 'DevTools'を試してみましたか?ここでリンクhttps://spring.io/blog/2015/06/17/devtools-in-spring-boot-1-3 –

+0

を有効にするとデバッグが有効になります。 Spring/Hibernate全体のロード/ブートストラッププロセス中に実行されるアクションがたくさんあります。長い負荷は接続上の問題の問題かもしれません - ちょうどそれをもう一度デバッグしてください。 –

+0

@SergeyBennerは質問を更新しましたが、デバッグログを使用しても面白いことはありません – user12384512

答えて

1

あなたのhibernate設定にこのプロパティを追加します。

hibernate.temp.use_jdbc_metadata_defaults=false