gpt4 book ai didi

java - JUnit UnsatisfiedLinkError : android. util.Log.isLoggable(Ljava/lang/String;

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:02:21 25 4
gpt4 key购买 nike

当我在使用 apachehttp-client 的 Android 应用程序上运行 JUnit 测试时,出现以下错误。该应用程序在我的测试设备和模拟器上成功运行。登录 JUnit 测试也通过了,但是只要应用程序尝试使用 apachehttp-client 从服务器读取数据,其余的 JUnit 测试就会失败。

测试似乎在 httpClient.execute 失败

try {
URL businessPartnersResource = new URL(
session.getServer().getUrl(), "BusinessPartners");

HttpGet request = new HttpGet(businessPartnersResource.toURI());
session.attachToRequest(request);

HttpClient httpClient = HttpClientFactory.getClient();
HttpResponse response = httpClient.execute(request);

int status = response.getStatusLine().getStatusCode();

switch (status) {
case HttpsURLConnection.HTTP_OK: {

这是失败痕迹

java.lang.UnsatisfiedLinkError: android.util.Log.isLoggable(Ljava/lang/String;I)Z
at android.util.Log.isLoggable(Native Method)
at org.apache.http.client.protocol.RequestClientConnControl.process(RequestClientConnControl.java:76)
at org.apache.http.protocol.BasicHttpProcessor.process(BasicHttpProcessor.java:251)
at org.apache.http.protocol.HttpRequestExecutor.preProcess(HttpRequestExecutor.java:168)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:458)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:641)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:576)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:554)

最佳答案

令人沮丧,但你必须使用 RobolectricTestRunner而不是标准的 JUnit。

isLoggable 是一种本地方法,因此它在运行时不可用。

如果你使用 Volley 或者 apachehttp-client,最大的问题是 isLoggable 被调用为字段实例化,例如:

private static final DEBUG = Log.isLoggable(..);

鉴于此方法在运行时在那些 中根本不可用,这完全搞砸了,所以即使是 AndroidTestCase 也无法拯救您。

幸运的是,Robolectric 可以完美地处理它。

编辑 2017 年 4 月 4 日

JUnit 5 现在可用,我还没有用这个测试运行器进行测试。

关于java - JUnit UnsatisfiedLinkError : android. util.Log.isLoggable(Ljava/lang/String;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29014316/

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