如何在Android中获得响应后编写junit测试

时间:2018-04-17 10:23:22

标签: android junit testcase

我有以下代码。我想为此方法编写junit测试。

@Override
public void getSuccessData(Response response) {
    if(response.getStatus().equalsIgnoreCase("success")){
        BaseApplication.getInstance().setAccessToken(response.getToken().getAccessToken());
        commonNavigate.navigateToHomeScreen((HomeActivity)view);
    }
}

我如何为此方法编写junit测试用例。我是junit的新手。

2 个答案:

答案 0 :(得分:0)

这是(很可能)您要测试的回调方法。

如果您想测试回调,则需要了解模拟

在非常基本的术语中,mocking允许您创建一个假的源对象并在其上调用一些请求方法,然后验证是否已使用某些参数调用了特定的回调。阅读 Mockito ,它可与Android Studio轻松集成:http://site.mockito.org/

其次,您编码调用特定于Android的代码

BaseApplication.getInstance().setAccessToken(response.getToken().getAccessToken());
            commonNavigate.navigateToHomeScreen((HomeActivity)view);

此代码依赖于 Context 对象。请阅读Context对象在Android中的含义以及它在Application / Activity / View类中的共享方式。 " navigateToHomeScreen"方法肯定需要一个Context!

您可以使用假对象模拟Android依赖,也可以运行提供Context和其他Android-framework-defendant对象的 Instrumented tests

总结一下 - 这些是广泛而复杂的主题,你应该首先对它们进行研究

答案 1 :(得分:0)

如果要测试方法,请使用Mockito框架。您需要模拟对象,以便可以使用虚拟响应来测试方法。

请参阅此链接以获取mockito

https://developer.android.com/training/testing/unit-testing/local-unit-tests.html#setup