当前位置: 首页 > 知识库问答 >
问题:

在测试开始之前,当我用robolectra运行我的改装测试时,我遇到了两个错误

武嘉祥
2023-03-14

我在测试包中编写了此测试,用于测试改型类,但即使在测试开始之前,除了@Config中未知的“常量”之外,此错误显示为:

@Config(constants = BuildConfig.class, sdk =21,   manifest="app/manifests/AndroidManifest.xml")

@RunWith(RobolectricTestRunner.class)
public class MultiFactorAPITest {
private MainActivity mainActivity;

@Mock
private MultiFactorAPI mockMultiFactorAPI;

@Captor
private ArgumentCaptor<Callback<List<ValidatePhoneUserResponse>>>    callbackArgumentCaptor;

@Before
public void setUp() {
    MockitoAnnotations.initMocks(this);

    ActivityController<MainActivity> controller =    Robolectric.buildActivity(MainActivity.class);
    mainActivity = controller.get();

    // Then we need to swap the retrofit api impl. with a mock one
    // We store our Retrofit api impl as a static singleton in class RestClient, hence:
    RestClient.setApi(mockMultiFactorAPI);

    controller.create();
}

错误是:

注释处理器现在必须显式声明。发现编译类路径上的以下依赖项包含注释处理器。auto-service-1.0-rc4.jar(com.google.auto.service:自动服务:1.0-rc4)或者,设置android.defaultConfig.javaCompileOptions.annotationProcessorOptions.includeCompileClasspath=true继续以前的行为。请注意,此选项已被弃用,将来将被删除。更多详情请参见https://developer.android.com/r/tools/annotation-processor-error-message.html。

我添加了这些行来漱口:

dependencies {
    implementation 'org.robolectric:robolectric:4.3'
    implementation "org.mockito:mockito-core:1.10.19"
    implementation 'org.hamcrest:hamcrest-library:1.1'
}

gradle中。Madule

android{
testOptions {
    unitTests {
        includeAndroidResources = true
    }
}    }

在gradle.app:

dependencies{
    classpath 'org.robolectric:robolectric-gradle-plugin:1.0.1'
}

在格拉德尔。财产:

android.enableUnitTestBinaryResources=true
android.enableAapt2=false

共有1个答案

单于骁
2023-03-14

我的问题解决了把这个代码在我的app.gradle:

dependencies{
    implementation 'com.squareup.retrofit2:retrofit:2.5.0'
    implementation 'com.squareup.okhttp3:mockwebserver:3.6.0'
}

1)找到你的. gradle文件夹的位置,在Android Studio goto File-

2)删除。gradle目录(我的位置是C:\用户\UserName.gradle),并重启Android Studio。它会自动创建一个新的。

从Android Studio:构建项目错误-未能完成Gradle执行

 类似资料: