Robolectric 2 – создать активную проверку с намерением

Я пишу блок-тест с Robolectric. Настройка выглядит так:

@RunWith(RobolectricTestRunner.class) public class MiAirlineActivityTest { @Before public void setUpFor() { Intent intent = new Intent(HOW_TO_PASS_CONTEXT_HERE, MiAirlineActivity.class); intent.putExtra(EMPLOYEEID_EXTRA, "username"); miAirlineActivity = Robolectric.buildActivity(MiAirlineActivity.class) .withIntent(intent).start().get(); } } 

Как передать контекст при создании нового намерения. Я следовал примеру из этого вопроса.

Там @David говорит,

«… мне нужно было дать контекст и класс Activity, который он отправлял, чтобы"

Как я могу это сделать?

Примечание. Пожалуйста, не отмечайте его как дубликат вышеуказанного связанного вопроса. Я задаю новый вопрос, так как я не мог добавить комментарий.

Попробуй это

 Intent intent = new Intent(Robolectric.getShadowApplication().getApplicationContext(), MiAirlineActivity.class); 

Стройте свою деятельность с намерением

 Intent intent = new Intent(HOW_TO_PASS_CONTEXT_HERE,MiAirlineActivity.class); intent.putExtra(EMPLOYEEID_EXTRA, "username"); iAirlineActivity = Robolectric.buildActivity(MiAirlineActivity.class).withIntent(intent).create().get(); 

Посмотрите на roboelectric docs здесь

Intent intent = new Intent (ShadowApplication.getInstance (). GetApplicationContext (), Activity.class);

 miAirlineActivity = Robolectric.buildActivity(MiAirlineActivity.class).create().get(); Intent intent = new Intent(); intent.putExtra(EMPLOYEEID_EXTRA, "username"); miAirlineActivity.setIntent(intent); miAirlineActivity.onCreate(new Bundle()); 

Это запустит вашу деятельность с желаемым намерением

Нет необходимости создавать контекст и целевой класс Activity с помощью конструктора. Попробуй это:

 @Before public void setUpFor() { Intent intent = new Intent(); intent.putExtra(EMPLOYEEID_EXTRA, "username"); miAirlineActivity = Robolectric.buildActivity(MiAirlineActivity.class) .withIntent(intent).start().get(); }