gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 03:18:07 25 4
gpt4 key购买 nike

我已经在测试包中编写了这个测试,用于测试retrofit类,但即使在测试开始之前,除了@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();
}

错误是:

现在必须显式声明注释处理器。发现编译类路径上的以下依赖项包含注释处理器。请将它们添加到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=true
android.enableAapt2=false

最佳答案

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

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

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

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

来自 Android studio: build project error - Failed to complete Gradle execution

关于java - 在测试开始前使用 robolectric 运行改造测试时,我遇到了两个错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56945788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com