1. ホーム
  2. android

[解決済み] Androidのjunitテストケースでテストプロジェクトのコンテキストを取得する

2022-07-25 06:05:53

質問

のコンテキストを取得する方法をご存知の方はいらっしゃいますか? テストプロジェクト を取得する方法をご存知の方はいらっしゃいますか?

注意:このテストはインスツルメンテーションテストではありません。

注2:テストプロジェクトのコンテキストが必要で、実際にテストされるアプリケーションのコンテキストではありません。

テストプロジェクトのアセットからいくつかのファイルをロードするために必要です。

どのように解決するのですか?

Android Testing Support Libraryを使った新しいアプローチがあります(現在は androidx.test:runner:1.1.1 ). Kotlinの例を更新しました。

class ExampleInstrumentedTest {

    lateinit var instrumentationContext: Context

    @Before
    fun setup() {
        instrumentationContext = InstrumentationRegistry.getInstrumentation().context
    }

    @Test
    fun someTest() {
        TODO()
    }
}

アプリのコンテキストも実行したい場合。

InstrumentationRegistry.getInstrumentation().targetContext

完全な実行例です。 https://github.com/fada21/AndroidTestContextExample

ここを見てください。 getTargetContext()とgetContext(on InstrumentationRegistry)の違いは何ですか?