如何添加和删除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);
}
}; }
你可能会想补充一点,你支持更多的行动。