我想做一个单元测试验证,如果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) 我有一个方法可以在其中调用void函数,当我使用时doNothing(),它会说void方法是不允许的.我怎么能doNothing()在那条特定的路线上?
我正在使用这条线,
when(spyColorSelector.initializeColors(view, "red")).then(doNothing());
Run Code Online (Sandbox Code Playgroud) 当我使用mock.return_value.method.side_effect = [1, 2].
它工作完美。我接听每个电话1,然后2接听下一个电话。
但是,我该如何做属性呢?
我用object.text = "some-text"。并且有效。但我需要属性的 side_effect text。是否可以?
我一直在寻找许多网站,但是找不到将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,当我同步项目时,它就可以工作。
我一直在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, …
android ×4
mockito ×3
unit-testing ×3
powermock ×2
gradle ×1
java ×1
python-3.x ×1
retrofit2 ×1
testing ×1