Android测试:我可以通过测试方法将短信发送到模拟器号吗?

时间:2011-07-04 17:08:01

标签: java android unit-testing

我收到了另一个团队的一些代码,并开始进行简单的改进和重新分解。 第一阶段是为项目添加单元测试。我需要测试解析输入短信的功能。 与上述信息相关,我的问题是:   - 我可以通过测试方法将短信发送到仿真器端口吗? 我已经写了下一段代码但没有收到任何东西......

@Test
public void sendSmsTest() {
    SmsManager smsManager = SmsManager.getDefault();
    smsManager.sendTextMessage("5554", null, getSms("sms1"), null, null);
}

private String getSms(String smsKey) {
    return (String) smsMessages.get(smsKey);
}

感谢。


重新启动仿真器和IDE后,我在控制台中收到了下一个错误:

  

测试运行失败:抛出异常   在onCreate()中   ComponentInfo {com。示例/ android.test.InstrumentationTestRunner}:   显示java.lang.NullPointerException

3 个答案:

答案 0 :(得分:6)

使用来自主机的内容

$ adb emu sms send 5551234 Hello Android

答案 1 :(得分:3)

将SMS发送到特定模拟器:

$ adb -s emulator-5554 emu sms send 5551234 Hello Android

答案 2 :(得分:1)

我启动了2个模拟器实例,并且能够将SMS从实例发送到另一个,但是......我遇到了一个问题,它只会从我开始的第二个实例发送。看看这篇文章:

Sending sms text message from android emulator to second emulator instance