【发布时间】:2019-03-06 10:50:09
【问题描述】:
我有一个SingleLiveEvent<Void> 变量。从 api 获得响应后,我将其发布。我的回调被调用并显示一个弹出窗口。
我的问题是我将如何编写一个测试用例进行检查,我的弹出窗口是否显示。
现场活动:
private SingleLiveEvent<Void> onAccountOverDrawn = new SingleLiveEvent<>();
我正在调用成功响应:
onAccountOverDrawn.post();
在我的片段中,我将其注册为
viewModel.getOnAccountOverDrawn().observe(this, aVoid -> onAccountOverDrawn());
在onAccountOverDrawn() 我只是显示一个弹出窗口。
那么我将如何为这个场景编写一个测试用例呢?
当前测试用例:
@Test
public void updateApplicationStatus_AccountOverdrawn() {
viewModel.updateApplicationStatus("AMOUNT_PENDING");
assertNotNull(viewModel.getOnAccountOverDrawn()); //this line is of no use. Need to change this.
}
【问题讨论】:
-
所以您想测试是否观察到 SingleLiveEvent?
-
附带说明:不推荐使用
SingleLiveEvent。请参阅此帖子以获得更好的选择:medium.com/androiddevelopers/…
标签: android unit-testing testing