13

サービスを開始するには、 を使用することを知っていますnew MyService().run(args)。それを止める方法は?

テストのためsetUp()に、プログラムで開始および停止する必要があります。tearDown()

4

5 に答える 5

12

新しいスレッドでサービスを開始できます。テストが終了すると、サービスは自動的にシャットダウンします。

ただし、dropwizard 0.6.2 以降では、dropwizard-testing モジュールに、まさにこのユース ケース用のjunit ルールが含まれています (こちらを参照)。

このルールの使用法は次のようになります。

Class MyTest {

    @ClassRule
    public static TestRule testRule = new DropwizardServiceRule<MyConfiguration>(MyService.class,
                    Resources.getResource("service.yml").getPath()));

    @Test
    public void someTest(){
    ....
于 2013-04-14T19:43:36.420 に答える
11

変数をそのままenvironmentにして、次のメソッドをアプリケーションに追加します。

public void stop() throws Exception {
  environment.getApplicationContext().getServer().stop();
}

myService.stop()これで、サーバーを停止するために呼び出すことができます。

于 2015-09-22T14:45:57.927 に答える