Во время тестирования мне нужно, чтобы метод WifiManager.getScanResults()
возвращал непустой список. Я использую Robolectric. Я обнаружил, что ShadowWifiManager
имеет метод setScanResults()
, который принимает список объектов ScanResult
, но у них нет общего конструктора.Как вы называете Robolectric ShadowWifiManager.setScanResults()?
1
A
ответ
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));