我有以下代码。我想为此方法编写junit
测试。
@Override
public void getSuccessData(Response response) {
if(response.getStatus().equalsIgnoreCase("success")){
BaseApplication.getInstance().setAccessToken(response.getToken().getAccessToken());
commonNavigate.navigateToHomeScreen((HomeActivity)view);
}
}
我如何为此方法编写junit
测试用例。我是junit
的新手。
答案 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