Como posso sombrear o PackageManager com Robolectric

Meu aplicativo Android tem um método simples para disparar uma intenção de exibir um URL.

protected void launchBrowser(int id)
{
    Uri uri = Uri.parse( getString( id ) );
    Intent intent = new Intent( ACTION_VIEW, uri);

    PackageManager packageManager = getPackageManager();
    List<ResolveInfo> activities = packageManager.queryIntentActivities(intent, 0);
    if (activities.size() > 0)
    {
        startActivity(intent);
    }
    else
    {
        Toast.makeText(getApplicationContext(),
                       "ERROR - no application to display a web page",
                       Toast.LENGTH_SHORT).show();
    }
}

Estou usando o Robolectric para teste de unidade, mas estou com problemas para verificar esse método. Especificamente,getPackageManager() está sempre retornando null. Como eu posso sombrear oPackageManager? Eu tentei criar umShadowPackageManager e chamandobindShadowClass, mas nenhum dos meus códigos é executado -getPackageManager() sempre retornanull. Eu também tentei sombrear o contexto de aplicação e retornar um concretoStubPackageManager, mas obteve os mesmos resultados. Talvez eu esteja procurando / olhando por muito tempo - existe uma maneira melhor de testar esse método?

questionAnswers(6)

yourAnswerToTheQuestion