如何在power mock中为org.asynchttpclient.AsyncHttpClient创建一个模拟对象

时间:2017-02-13 11:47:28

标签: java unit-testing ssl powermock

我是电脑模拟的新手,

在我的程序中,我使用org.asynchttpclient.AsyncHttpClient进行HTTP请求。

我想使用power mock来模拟该请求,

但它显示错误

"Caused by: java.security.NoSuchAlgorithmException: class configured 
    for SSLContext: sun.security.ssl.SSLContextImpl$TLSContext not a SSLContext"

我找到了类似的东西:

@PowerMockIgnore({ "org.apache.http.conn.ssl.*", 
                   "javax.net.ssl.*",
                   "javax.crypto.*"            
                })

但是当我添加它时,它会显示NullPointerException

请任何人帮我创建AsyncHttpClient的模拟对象。

2 个答案:

答案 0 :(得分:4)

我有同样的问题。添加一行对我有用:

@RunWith(PowerMockRunner.class)
@PowerMockIgnore("javax.net.ssl.*") //Add this line.

答案 1 :(得分:0)

如果没有关于当前测试代码的更多信息,这有点猜测;但核心观点是:在大多数模拟框架中,创建一个模拟对象非常简单;喜欢在:

AsyncHttpClient mockedClient = mock(AsyncHttpClient.class);

就是这样。现在,您可以开始指定当代码在mockedClient对象上调用方法时应该发生什么。

你得到这些例外的事实可能意味着你实际上并没有嘲笑任何东西。