gpt4 book ai didi

java - 模拟没有 roboelectric 的 android.os.BaseBundle

转载 作者:行者123 更新时间:2023-12-04 16:46:38 29 4
gpt4 key购买 nike

我正在尝试对此代码进行单元测试:

Bundle cidParam(String accountId) {
Bundle params = new Bundle(1);
params.putString(Params.CID, accountId);

return params;
}

这是单元测试:
private void mockBundle(String cid) throws Exception {
Bundle mBundle = PowerMockito.mock(Bundle.class);
PowerMockito.doNothing().when((BaseBundle)mBundle).putString(AnalyticsController.Params.CID, cid);
}

但是,它总是返回:
java.lang.RuntimeException: Method putString in android.os.BaseBundle not mocked.

我知道我可以使用 roboelectric 来启动模拟器并调用真正的 bundle 。但是,它会减慢单元测试的速度。有谁知道如何模拟 Android .os.base?谢谢你。

最佳答案

尝试将其添加到您的 build.gradle

android {
testOptions {
unitTests {
unitTests.returnDefaultValues = true
}
}
}

关于java - 模拟没有 roboelectric 的 android.os.BaseBundle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47830130/

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