我在尝试在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);
}
}
build.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'
}
我错过了什么,因为几个月前这段代码还可以工作。
在Android Studio中检查您的构建变体。应该是调试
看起来您使用了错误的方法,尝试在build.gradle
中将debugImplementation
更改为testImplementation
。希望对你有帮助。