如何在Android中编写单元测试?

时间:2018-12-06 18:21:42

标签: unit-testing mockito junit4 android-testing

我是单元测试的新手。我在下面给出的类中有一个方法,

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);
}

测试已经通过,但是我不确定我是否朝着正确的方向前进。

0 个答案:

没有答案