3

尝试在 Android 中使用 FragmentScenario 时出现此错误

error: package androidx.fragment.app.testing does not exist
import androidx.fragment.app.testing.FragmentScenario;
                                    ^

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

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);
    }
}

构建.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'
}

我错过了什么,因为几个月前这段代码有效。

4

2 回答 2

0

在 Android Studio 中检查您的构建变体。应该是调试

于 2021-08-10T15:28:15.517 回答
0

看来你用错了方法,试试debugImplementation改成testImplementationin build.gradle。希望对您有所帮助。

于 2020-07-13T08:48:33.520 回答