为了账号安全,请及时绑定邮箱和手机立即绑定

当我在测试开始前使用 robolectric 运行改造测试时,我遇到了两个错误

当我在测试开始前使用 robolectric 运行改造测试时,我遇到了两个错误

弑天下 2023-03-17 10:28:33
我已经在测试包中编写了这个测试,用于测试一个retrofit类,但是即使在测试星之前,除了未知的“常量”之外@Config,还会显示此错误:@Config(constants = BuildConfig.class, sdk =21,   manifest="app/manifests/AndroidManifest.xml")@RunWith(RobolectricTestRunner.class)public class MultiFactorAPITest {private MainActivity mainActivity;@Mockprivate MultiFactorAPI mockMultiFactorAPI;@Captorprivate ArgumentCaptor<Callback<List<ValidatePhoneUserResponse>>>    callbackArgumentCaptor;@Beforepublic 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();}错误是:现在必须显式声明注释处理器。发现编译类路径的以下依赖项包含注释处理器。请将它们添加到 annotationProcessor 配置中。- auto-service-1.0-rc4.jar (com.google.auto.service: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'}在 gradle.propertice 中:android.enableUnitTestBinaryResources=trueandroid.enableAapt2=false
查看完整描述

1 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

通过将此代码放入我的 app.gradle 解决了我的问题:


dependencies{

    implementation 'com.squareup.retrofit2:retrofit:2.5.0'

    implementation 'com.squareup.okhttp3:mockwebserver:3.6.0'

}


1) 在 Android Studio 中找到 .gradle 文件夹的位置,转到“文件”->“设置”,然后在搜索框中键入“gradle”。您将能够在那里选择正确的路径


2)删除.gradle目录(我的位置是C:\Users\UserName.gradle),重启android studio。它会自动创建一个新的。


来自Android 工作室:构建项目错误 - 无法完成 Gradle 执行


查看完整回答
反对 回复 2023-03-17
  • 1 回答
  • 0 关注
  • 81 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信