Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android中获得响应后如何编写junit测试_Android_Junit_Testcase - Fatal编程技术网

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

在Android中获得响应后如何编写junit测试,android,junit,testcase,Android,Junit,Testcase,我有下面的代码。我想为这个方法编写junit测试 @Override public void getSuccessData(Response response) { if(response.getStatus().equalsIgnoreCase("success")){ BaseApplication.getInstance().setAccessToken(response.getToken().getAccessToken()); commonNav

我有下面的代码。我想为这个方法编写
junit
测试

@Override
public void getSuccessData(Response response) {
    if(response.getStatus().equalsIgnoreCase("success")){
        BaseApplication.getInstance().setAccessToken(response.getToken().getAccessToken());
        commonNavigate.navigateToHomeScreen((HomeActivity)view);
    }
}
我如何为这个方法编写
junit
测试用例。我对
junit

非常陌生,这(很可能)是您想要测试的回调方法

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

用非常基本的术语来说,mocking允许您创建一个伪源对象并对其调用某些请求方法,然后验证是否使用某些参数调用了特定回调。阅读有关Mockito的内容,它可以轻松地与Android Studio集成:

其次,您可以编写调用android特定代码的代码:

BaseApplication.getInstance().setAccessToken(response.getToken().getAccessToken());
            commonNavigate.navigateToHomeScreen((HomeActivity)view);
此代码依赖于上下文对象。请阅读Android中上下文对象的含义以及它在应用程序/活动/视图类中的共享方式。“navigateToHomeScreen”方法当然需要上下文

您可以使用伪对象模拟android依赖项,也可以运行提供上下文和其他android框架对象的测试


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

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

有关mockito,请参阅此链接

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