2016-08-01 10 views
1

Во время тестирования мне нужно, чтобы метод WifiManager.getScanResults() возвращал непустой список. Я использую Robolectric. Я обнаружил, что ShadowWifiManager имеет метод setScanResults(), который принимает список объектов ScanResult, но у них нет общего конструктора.Как вы называете Robolectric ShadowWifiManager.setScanResults()?

ответ

1

Я нашел, что Robolectric имеет тень ScanResult, также, который имеет метод newInstance. Он может быть использован, как это:

shadowOf(((WifiManager)controller.get().getSystemService(Context.WIFI_SERVICE))).setScanResults(Collections.singletonList(ShadowScanResult.newInstance("Foo", "Bar", "", 1, 2))); 

или, более пространно: final int level = 5; final int frequency = 100; final ScanResult scanResult = ShadowScanResult.newInstance( "A fake SSID", "A fake BSSID", "Some capabilities", level, frequency); final Context context = controller.get(); final WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); shadowOf(wifiManager).setScanResults(Collections.singletonList(scanResult));