Android FragmentScenario - 无法找到包 androidx.fragment.app.testing

nut*_*les 6 android android-junit android-fragmentscenario

我在 Android 中尝试使用 FragmentScenario 时遇到此错误

error: package androidx.fragment.app.testing does not exist
import androidx.fragment.app.testing.FragmentScenario;
                                    ^
Run Code Online (Sandbox Code Playgroud)

这是我的简单单元测试示例:

package com.example.myapplication;

import androidx.fragment.app.testing.FragmentScenario;
import android.os.Build;

import androidx.test.ext.junit.runners.AndroidJUnit4;

import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;

@RunWith(AndroidJUnit4.class)
@Config(manifest = Config.NONE, sdk = Build.VERSION_CODES.P)
public class MainActivityTest {
    @Test
    public void testFragmentScenario() {
        FragmentScenario<BlankFragment> scenario = FragmentScenario.launchInContainer(BlankFragment.class);
    }
}
Run Code Online (Sandbox Code Playgroud)

构建.gradle(应用程序):

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])

    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

    def test_version = '1.2.0'
    def fragment_version = '1.2.4'
    debugImplementation "androidx.fragment:fragment-testing:$fragment_version"
    testImplementation "androidx.test:core:$test_version"
    testImplementation 'androidx.test.ext:junit:1.1.1'
    testImplementation "androidx.test:runner:$test_version"
    testImplementation "androidx.test:rules:$test_version"
    testImplementation 'org.robolectric:robolectric:4.3'
}
Run Code Online (Sandbox Code Playgroud)

我错过了什么,因为几个月前这段代码可以工作。

小智 0

看来你使用的方式不对,尝试debugImplementation改成testImplementationin build.gradle。希望对您有所帮助。