我可以使用Android的测试框架测试状态栏通知吗?

def*_*rex 33 java junit android unit-testing android-notifications

我有一个类在Android中发送状态栏通知.我找不到测试通知是否发送的方法,这使得编写任何有用的单元测试变得非常困难.

有人有解决方案吗?

Mic*_*ith 6

也许不是您正在寻找的答案,但通常的解决方案是:

  • 创建一个抽象通知功能的界面.
  • 创建委派给系统通知API的默认实现.
  • 运行测试时,使用支持测试的模拟实现替换(或修饰)默认实现.

这可以通过以下技术简化:

  • 依赖注入框架(如RoboGuice)简化了实现的选择.
  • 模拟库(例如EasyMock)以自动创建模拟实现.


小智 2

Robotium 无法与通知栏交互。您仅限于一项应用程序。检查 Robotium 的常见问题解答,其中提到了这一点: http: //code.google.com/p/robotium/wiki/QuestionsAndAnswers