2015-11-06 58 views
1

测试Android应用程序时,是否有任何方法来模拟灯塔?Android单元测试:如何模拟灯塔设备

我的Android应用程序使用AltBeacon库和位置API。
我可以模拟位置提供商注入GPS坐标,但我也需要模拟“信标API”(我使用AltBeacon库)注入信标临近。
这可能吗?或者使用一些模拟框架来模拟我使用的AltBeacon API的部分?

回答

0

在我的情况下,我需要嘲笑灯塔,我只是使用了与library tests相同的方法。他们在一系列代表的信标传输的字节使用AltBeaconParser

public class AltBeaconTest { 

    public static byte[] hexStringToByteArray(String s) { 
     int len = s.length(); 
     byte[] data = new byte[len/2]; 
     for (int i = 0; i < len; i += 2) { 
      data[i/2] = (byte) ((Character.digit(s.charAt(i), 16) << 4) 
           + Character.digit(s.charAt(i+1), 16)); 
     } 
     return data; 
    } 

    @Test 
    public void testRecognizeBeacon() { 
    byte[] bytes = hexStringToByteArray("02011a1bff1801beac2f234454cf6d4a0fadf2f4911ba9ffa600010002c509"); 
    AltBeaconParser parser = new AltBeaconParser(); 
    Beacon beacon = parser.fromScanData(bytes, -55, null); 
    assertEquals("manData should be parsed", 9, ((AltBeacon) beacon).getMfgReserved()); 
    } 

    ... more tests 
} 

我不知道从你的问题,如果这是足以满足您的需要或不是,但它的工作对我的需要。