Проверьте функцию проверки Wi-Fi с помощью JUnit и Mockito - PullRequest
0 голосов
/ 18 мая 2019

С незапамятных времен я пытаюсь написать свой первый тест, который, кажется, нуждается в издевательствах. Я понятия не имею, как написать такой тест.

Я пытался смоделировать все классы, которые я использую в функциях, которые должны быть проверены.

class NetworkConnection {
    /**
     * Checks if the phone is connected to a network
     * @return true, if the phone is connected to a network
     */
    static boolean isConnectedToNetwork(Context context, String ssid) {
        ConnectivityManager cm =
            (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);

        NetworkInfo activeNetwork = cm != null ? cm.getActiveNetworkInfo() : null;
        boolean internetConnection = (activeNetwork != null) && activeNetwork.isConnectedOrConnecting();
        return  internetConnection && isConnectedToMyNetwork(context, ssid);
    }

    static boolean isConnectedToMyNetwork(Context context, String ssid) {
        return getWifiName(context).equals(ssid);
    }

    private static String getWifiName(Context context) {
        WifiManager manager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
        if(manager != null) {
            if (manager.isWifiEnabled()) {
                WifiInfo wifiInfo = manager.getConnectionInfo();
                if (wifiInfo != null) {
                    if (WifiInfo.getDetailedStateOf(wifiInfo.getSupplicantState()) == NetworkInfo.DetailedState.CONNECTED) {
                        return wifiInfo.getSSID();
                    }
                }
            }
        }
        return "";
    }
}

Функция isConnectedToNetwork () должна возвращать true, только если пользователь подключен к сети с определенным именем.

Спасибо за вашу помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...