如何添加和删除Android中的Android Junit测试包?

问题描述:

如何添加和删除的Android在JUnit测试包?如何添加和删除Android中的Android Junit测试包?

我建立具有到到包反应的应用程序被添加和去除(一个比其他包被测试),并且我想能够在JUnit测试来测试该功能。

有什么建议吗?

因为你没有给太多的信息,我的回答假设你使用的是服务或活动,因为这些病例很可能是您有困难的人。如果您只是处理BroadcastReceiver,则直接在BroadcastReceiver上调用onReceive。

下面是一些代码,应该让你去:

public class MyTests extends AndroidTestCase { 

private BroadcastReceiver mPackageAddedReceiver; 

@Override 
protected void setUp() throws Exception 
{ 
    super.setUp(); 
    this.setContext(new MyContextWrapper(getContext())); 
} 

public void test_PackageAdded_AssertStuff() 
{ 
    Intent packageAdded = new Intent(Intent.ACTION_PACKAGE_ADDED); 
    packageAdded.setData(Uri.parse("package://my.package")); 
    mPackageAddedReceiver.onReceive(getContext(), packageAdded); 

    // Do Asserts 
} 

private class MyContextWrapper extends ContextWrapper 
{ 
    public MyContextWrapper(Context base) 
    { 
     super(base); 
    } 

    @Override 
    public Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter, 
      String broadcastPermission, Handler scheduler) 
    { 
     if (filter.hasAction(Intent.ACTION_PACKAGE_ADDED)) { 
      mPackageAddedReceiver = receiver; 
     } 

     return super.registerReceiver(receiver, filter, broadcastPermission, scheduler); 
    } 
}; } 

你可能会想补充一点,你支持更多的行动。