【问题标题】:How to write junit test for after getting response in Android在Android中获得响应后如何编写junit测试
【发布时间】:2018-04-17 10:23:22
【问题描述】:

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

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

我如何为这种方法编写junit 测试用例。我对junit 很陌生。

【问题讨论】:

    标签: android junit testcase


    【解决方案1】:

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

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

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

    其次,你的代码调用android-specific code

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

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

    您可以使用假对象模拟 android 依赖项,或者您可以运行提供上下文和其他 Android 框架防御对象的 仪器测试

    总而言之 - 这些都是广泛而复杂的主题,您应该先对它们进行研究

    【讨论】:

      【解决方案2】:

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

      mockito 请参考此链接

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

      【讨论】:

        猜你喜欢
        • 2012-11-03
        • 1970-01-01
        • 1970-01-01
        • 2021-02-03
        • 1970-01-01
        • 2022-11-04
        • 2019-10-23
        • 2017-10-08
        • 1970-01-01
        相关资源
        最近更新 更多