我正在尝试为应用程序中的一个Presenter编写单元测试,对于以下用例,我不知道该如何编写单元测试。
interface ICallback
{
void onConfirm(String str);
}
interface IPopup
{
void show(ICallback callback);
}
class Presenter
{
private IPopup m_popup;
private String m_result;
Presenter(IPopup popup)
{
m_popup = popup;
}
public String getResult() { return m_result; }
void onClick()
{
m_popup.show(new ICallback()
{
@Override
public void onConfirm(String str)
{
m_result = str;
}
});
}
}
函数show
创建了一个PopupWindow
,其中包含一个OK按钮,其onClick
方法调用ICallback.onConfirm
。
我想测试onConfirm()
内部发生了什么,但我不知道如何做。有什么方法可以实现吗?或者我应该重构我的代码以使其更易于测试?