在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