3

Androidを使用してデバイスでテストし、Wi-Fiが接続されているかどうかを確認するためにこれを使用します。

        ConnectivityManager manager = (ConnectivityManager) MyApplication.getMyApplication().getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo info = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
    return info.isConnectedOrConnecting();

うまく機能します。JUnit用にこれをモックする方法はありますか?

よろしくお願いします、マーカス

4

1 に答える 1

0

コードを独自のWifiServiceClassに移動し、アプリケーションをインターフェイスに依存させる場合は、この機能をモックできます。

public class MyClassThatRequiresWifi {
    private IWifiService wifiService;
    public MyClassThatRequiresWifi(IWifiService wifiService) {
        this.wifiService = wifiService;
    }

    public void someMethodThatNeedsWifi() {
        if (this.wifiService.isConnectedOrConnecting())
            ...
    }
}

public IWifiService {
    boolean isConnectedOrConnecting();
}

public WifiService implements IWifiService {
    boolean isConnectedOrConnecting() {..}
}
于 2012-08-11T07:44:05.817 に答える