我是单元测试的新手。我在下面给出的类中有一个方法,
public static Boolean isConnected(Activity activity) {
try {
ConnectivityManager conMgr = (ConnectivityManager) activity.getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
if (conMgr == null)
return false;
NetworkInfo netInfo = conMgr.getActiveNetworkInfo();
return netInfo != null && netInfo.isConnected() && netInfo.isAvailable();
} catch (Exception e) {
return false;
}
}
我对如何为此方法编写测试感到困惑。由于此方法使用的是android库函数,因此我必须编写测试吗?
我已经尝试编写如下测试,
@Mock
private Activity activity;
@Mock
private ConnectivityManager connectivityManager;
@Override
public void setUp() throws Exception {
super.setUp();
MockitoAnnotations.initMocks(this);
}
@Test
public void testIsConnected() {
final NetworkInfo netInfo = this.connectivityManager.getActiveNetworkInfo();
final boolean status = netInfo != null && netInfo.isConnected() && netInfo.isAvailable();
assertTrue("Connectivity Check",Utilities.isConnected(this.activity)== status);
}
测试已经通过,但是我不确定我是否朝着正确的方向前进。