2017-02-18 21 views
2

私のgriffonデスクトップクライアントアプリケーションでは、OrmLiteに関するいくつかのテストを書こうとしています。 configuration section of the griffon-ormlite plugin guideを使用してJava構成ファイルOrmLiteを構成しました。私がしようとしているのは、OrmLiteがテスト中に別の(空白の)データベースを使用するように設定することです。ただし、アプリケーションがテスト構成を選択しておらず、代わりにデフォルト設定をロードしています。注意すべきGriffon Ormliteプラグイン設定で環境設定が取得されない

もの:まったく同じように構成を指定

  • コンフィギュレーションガイド(上記のリンク)で/ Ormlite.groovyのsrc /メイン/リソースはプラグインが文句を言うことになりますのようにdefault.url設定がありません。だから、この例は間違っているかもしれません(古いかもしれませんが、それはそうでないかもしれません)か、環境に関する何かが不足しています(設定が読み込まれる前に変換されていますか?
  • application environment enumは、テスト中はEnvironment.TEST、実行中はEnvironment.DEVELOPMENTになります。
  • バージョン:

    import java.util.Map; 
    
    import griffon.util.AbstractMapResourceBundle; 
    
    import static griffon.util.CollectionUtils.map; 
    
    public class Ormlite extends AbstractMapResourceBundle { 
        @Override 
        protected void initialize(Map<String, Object> entries) { 
         map(entries) 
          // the default database setting 
          .e("database", map() 
           .e("url", "jdbc:h2:internal") 
          ) 
          .e("environments", map() 
           .e("test", map() 
            // the database that should be used during testing, but is not being picked up 
            .e("database", map() 
             .e("url", "jdbc:h2:mem:internal-test") 
            ) 
           ) 
          ); 
        } 
    } 
    

    すべてのヘルプは非常に高く評価され:グリフォン2.9.1、グリフォン-ormlite 1.1.0

は、ここでの設定ファイルです。

答えて

2

クラスベースのResourceBundlesは、Groovyスクリプトのように、environmentsブロック(またはその他の条件付きブロック)のサポートを提供していないことに悩まされています。最近、この種のサポートをPropertiesファイルに追加しました(https://github.com/griffon/griffon/issues/196参照)。クラスベースのバンドルに同じものを追加する必要があります。

可能な場合は、回避策としてGroovyスクリプトの設定に切り替え、griffon-groovyをプロジェクトの依存関係として追加してください。これにより、少なくとも7M分の依存関係が追加されます。

私はこの機能を追跡するためにhttps://github.com/griffon/griffon/issues/212を提出しました。

+1

この機能を試すには、最新の2.10.0-SNAPSHOT(独自のフォームソースを作成する必要があります)を試してみてください。フィードバック歓迎:-) – aalmiray

+0

ありがとうございました。これは私が夢見ていたよりも良い答えです:D。私はスナップショットに渦を吹き込み、何かが現れるかどうかを見てみる。 – Magnavode

+1

それは魅力的なように働いています:)。手伝ってくれてどうもありがとう。 – Magnavode

関連する問題