2016-10-27 4 views
3

私はIntelliJ IdeaをIDEとして使用して、Dropwizard 0.9でアプリケーションを開発しています。私は実行コンフィギュレーションを設定しており、コマンドライン引数 "server ./path/to/config.yml"を渡して、実行するコンフィギュレーションファイルを指定します。ユニットテスト用にIntellijのDropwizard設定ファイルを指定する方法を教えてください。

しかし、単体テストを実行しようとすると、この設定ファイルのパスをサーバーに渡す方法を判断できません。 [Run/Debug Configuration]ダイアログには、[Program Arguments]フィールドがありますが、永続的に無効になっています(隣接する編集ボタンは何もしません)。

どのようにしてプログラムの引数を有効にすることができますか、あるいはテストの設定ファイルを指定する別の方法がありますか?

+0

DWは、これを行うための方法を提供しています。http://www.dropwizard.io/1.0.2/docs/manual/testing.html#integration-testing。私は盲目的に推測されるだろうあなたの設定を見ていないが、いくつかのコードを表示し、私は多くを助けることができるかもしれないアプローチしかし、 – pandaadb

+0

同様の質問:http://stackoverflow.com/questions/29087777/dropwizard-integration-test-cannot- find-resource-file/29096868 – zloster

答えて

1

config.ymlがプロジェクトのルートフォルダにある場合は、サーバのconfig.ymlをIDEに設定してください。このvideoをご覧ください。

プロジェクトのルートフォルダからconfig.ymlにアクセスするには、そのファイルの名前をルールに渡します。

@ClassRule 
public static final DropwizardAppRule<DWGettingStartedConfiguration> RULE 
     = new DropwizardAppRule<>(DWGettingStartedApplication.class, 
       "config.yml"); 

また、SRC /テスト/リソースフォルダ内の統合テスト用の設定ファイルを保存することが可能です。この場合、ファイルは、次のコードを使用してアクセスすることができます。

/** 
* A path to test configuration file. 
*/ 
private static final String CONFIG_PATH 
     = ResourceHelpers.resourceFilePath("test-config.yml"); 
/** 
* Start the application before all test methods. 
*/ 
@ClassRule 
public static final DropwizardAppRule<DropBookmarksConfiguration> RULE 
     = new DropwizardAppRule<>(
       DropBookmarksApplication.class, 
       CONFIG_PATH); 

はまた、hereherehereを投影し、私の例を見てみてください。

関連する問題