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

Ser*_*huk 3 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);
}
Run Code Online (Sandbox Code Playgroud)

谢谢.


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

测试运行失败:ComponentInfo的onCreate()抛出异常{com.example/android.test.InstrumentationTestRunner}:java.lang.NullPointerException

Die*_*ano 6

使用类似于主机的东西

$ adb emu sms send 5551234 Hello Android
Run Code Online (Sandbox Code Playgroud)


dsh*_*rew 5

要将 SMS 发送到特定模拟器:

$ adb -s emulator-5554 emu sms send 5551234 Hello Android
Run Code Online (Sandbox Code Playgroud)