小编Jim*_*eón的帖子

如何对retrofit2回调进行单元测试?

我想做一个单元测试验证,如果function1()还是function2()被调用.我之前没有使用过回调,你能告诉我怎么做吗?

public void sendData(HttpService service, Document userData) {
    Call<String> call = service.updateDocument(getId(), userData);

    call.enqueue(new Callback<String>() {
    @Override
    public void onResponse(Call<String> call, Response<String> response) {
        function1(response.code());
    }

    @Override
    public void onFailure(Call<String> call, Throwable t) {
        function2();
    }
    });
}
Run Code Online (Sandbox Code Playgroud)

android unit-testing mockito powermock retrofit2

5
推荐指数
1
解决办法
938
查看次数

如何在void方法上执行Nothing()?

我有一个方法可以在其中调用void函数,当我使用时doNothing(),它会说void方法是不允许的.我怎么能doNothing()在那条特定的路线上?

我正在使用这条线,

when(spyColorSelector.initializeColors(view, "red")).then(doNothing());
Run Code Online (Sandbox Code Playgroud)

testing android unit-testing mockito

4
推荐指数
1
解决办法
2万
查看次数

在 python 属性中使用 side_effect 进行模拟

当我使用mock.return_value.method.side_effect = [1, 2].

它工作完美。我接听每个电话1,然后2接听下一个电话。

但是,我该如何做属性呢?

我用object.text = "some-text"。并且有效。但我需要属性的 side_effect text。是否可以?

python-3.x python-unittest

4
推荐指数
1
解决办法
1892
查看次数

升级到Gradle 2.6

我一直在寻找许多网站,但是找不到将gradle版本升级到2.6的简单方法。

build.gradle

dependencies {
        classpath 'com.android.tools.build:gradle:1.0.+'
        classpath "com.kageiit:robojava-plugin:1.1.5"

        classpath("net.saliman:gradle-cobertura-plugin:2.2.5") {
            exclude group: "xerces", module: "xercesImpl"
        }
    }
Run Code Online (Sandbox Code Playgroud)

gradle-wrapper.properties

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-bin.zip
Run Code Online (Sandbox Code Playgroud)

我只想更改类路径和distributionUrl,当我同步项目时,它就可以工作。

android gradle android-gradle-plugin

1
推荐指数
1
解决办法
4451
查看次数

java.lang.RuntimeException:存根!在Android中使用Mockito

我一直在Google上查找此错误,我发现的大多数答案都是将junit依赖关系移至顶部。或使用另一个模拟框架。我已经消除了依赖关系,但仍然失败了,整个项目使用了模仿和powermock。

这是简历中的代码。

package co.pack.session;

import com.google.gson.JsonObject;
import org.junit.Test;
import co.pack.Session.Organization;
import static org.junit.Assert.assertEquals;

public class TestOrganization {

@Test
public void testLoadJson() {
    JsonObject json = new JsonObject();
    json.addProperty("theme_color", "red");
    Organization organization = new Organization();

    organization.loadFromJson(json);

    assertEquals("red", Organization.getThemeColor());
    }
}
Run Code Online (Sandbox Code Playgroud)

实作

public static void loadFromJson(JsonObject json) {
    Organization.name = json.has("name") ? json.get("name").getAsString() : "";
    Organization.image = json.has("image") ? json.get("image").getAsString() : "";

    printActualOrganization();
}

private static void printActualOrganization() {
    Log.i(TAG, "_name_ " + name);
    Log.i(TAG, "_image_ " + image);
}
Run Code Online (Sandbox Code Playgroud)

它在日志行上失败

Log.i(TAG, …

java android unit-testing mockito powermock

1
推荐指数
1
解决办法
5158
查看次数