0

MobileFirst プラットフォーム 6.3 を使用します。

junit を使用して worklight.properties から worklight プロジェクト内のサーバー フォルダーの構成パスを取得しようとすると、返される値が null になります。

次のコードを使用してパスを取得しています。

WorklightConfiguration.getInstance().getString("mbaas.configRootDir");

編集:これが私がやろうとしていることです。このコードを junit で実行しています。返されるはずtrueです。

public class Test2 {
    @Test 
    public void test() { 
        //customProperty=123 
        String str=getWorklightProperty("customProperty"); 
        assertEquals("123", str);
    }

    public String getWorklightProperty(String propertyName) {
        return WorklightConfiguration.getInstance().getString(propertyName);
    }
}
4

2 に答える 2

0

編集: これは JUnit では機能しません。このコードを実行すると、Worklight Server に接続することが期待されます。

アダプターを呼び出して実行すると、アダプターはサーバーと通信しているため、応答を取得できます。

直接実行すると、通信するサーバーがないため、null.


コードが有効であることを確認する必要があります。
MFP 6.3 で以下をテストし、worklight.properties から値を正常に取得しました。

  1. server/conf/worklight.properties の一番下に次のプロパティーを追加しました。

    customProperty=123
    
  2. server/conf/java に新しい Java クラスを作成しました。

    package com.myClass.customcode;
    
    import com.worklight.server.bundle.api.WorklightConfiguration;
    
    public class Test {
        public static String getWorklightProperty(String propertyName){
            return WorklightConfiguration.getInstance().getString(propertyName); 
        }
    }
    
  3. -impl.js ファイルに次のものを使用して、新しい HTTP アダプターを作成しました。

    function test() {
        return {
            result: com.myClass.customcode.Test.getWorklightProperty("customProperty")
        }
    }
    

プロシージャ「test」を呼び出した後の応答は次のとおりです。

    {
       "isSuccessful": true,
       "result": "123"
    }
于 2015-01-13T14:54:45.447 に答える