8

実行時にURLを取得するために、特定のフィールドをBuildConfigに定義しています。そのため、各ビルドのタイプのために、私は別の文字列を使用します。androidTestのbuildConfigFieldを定義する

prod { 
     buildConfigField "String", "BASE_URL", "\"abc.com\"" 
    } 

    debug { 
     buildConfigField "String", "BASE_URL", "\"efg.com\"" 
    } 

はそれがAndroidのテストを実行中に別のURLを定義することは可能ですか?この設定をsourceSets->androidTestに設定しようとしましたが、受け入れられません。

答えて

0

BuildConfig.javayour.app.packageをtest/androidTest dirに追加します。

Androidスタジオは赤色に見えますが機能します。

0

connectedAndroidTestタスクのパラメータとして渡す必要があります。

android { 
    ... 
    buildTypes { 
     prod { 
      buildConfigField "String", "BASE_URL", "\"${getBaseUrl("abc.com")}\"" 
     } 
     debug { 
      buildConfigField "String", "BASE_URL", "\"${getBaseUrl("efg.com")}\"" 
     } 
    } 
} 

def getBaseUrl(String fallback) { 
    return project.hasProperty("base_url") ? project.getProperties().get("base_url") : fallback 
} 

そして-Pを介してパラメータを渡し:

./gradlew connectedDebugAndroidTest -Pbase_url="xxx.com" 
./gradlew connectedProdAndroidTest -Pbase_url="yyy.com" 
関連する問題