public ClassUnderTest(String wlUrl) throws Exception {
try {
this.url = wlUrl;
initialize();
} catch (Exception ex) {
throw ex;
}
private void initialize() throws Exception {
try {
PropertyManager.getInstance();
logAdapter = LogAdapter.getInstance(PropertyManager.getProperty("LOG_CONFIG_FILE"));
log20 = new ServerLogging20();
ds = (javax.sql.DataSource) ctx.lookup(PropertyManager.getProperty("DATASOURCE"));
setInitialContext(url);
} catch (Exception e) {
log.error("ERROR instantiating PropertyManager & LogAdapter - " + e.getMessage());
throw e;
}
}
有什么方法可以模拟这个私有方法来测试我编写的方法吗?
Mockito不支持模仿私有方法。
以下是Mockito常见问题解答的摘录:
为什么Mockito不嘲笑私有方法?
首先,我们并不教条地嘲笑私人方法。我们只是不关心私有方法,因为从测试的角度来看,私有方法并不存在。以下是Mockito不嘲笑私有方法的几个原因:
使用mockito inline如何测试静态函数(使用stubing其他静态函数)或mock/stub某些内部依赖类? 以下是示例: 具有内部依赖于java的类Util。安全消息摘要 容器类有一些静态函数要测试 希望测试,并将返回为null,以便somettext有望返回。 由于它是静态函数,因此使用powermock进行了测试。 当使用模拟存根时。调用getStringDigest(),返回nu
问题内容: 我是开发的新手,尤其是单元测试的新手。我想我的要求很简单,但是我很想知道其他人对此的想法。 假设我有两个这样的类- 假设我正在编写单元测试到测试方法。但是,假设我想像这样模拟课程。我正在使用Mockito来做到这一点。 我看到模拟未生效,并且断言失败。没有办法模拟我要测试的类的成员变量。? 问题答案: 您需要提供一种访问成员变量的方式,以便您可以进行模拟传递(最常见的方式是使用参数的s
我这样做是为了得到想要的结果
基类 在派生类中不应用组合和其他函数。如果是,我是否应用了错误的模式?我应该如何处理相同的?
下面是从测试中的类调用的类的代码示例 所以我的问题是如何成功地模拟CodeWithAnotherPrivateMethod类的doTheGamble()方法,使其始终返回true?
我有一门课看起来像这样: 我想使用Mockito和Powermock为此编写一个单元测试。我知道我可以这样模仿私有方法: 但是我如何告诉它抛出异常呢?我知道会是这样的: 那里有什么? 请注意,异常是一个私有内部类,因此我不能只执行,因为从单元测试中无法访问。