Учитывая следующий пример onCreate()
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
Bundle extras = getIntent().getExtras();
if (extras != null && (null != extras.getString("myVar")))
{
setContentView(R.layout.success);
}
else
{
setContentView(R.layout.failure);
}
}
Что я хочу сделать, так это провести модульное тестирование этого действия, чтобы убедиться, что я могу получить любой набор представления контента в зависимости от дополнений, которые передаются придействие создано.
В моем тесте Robolectric до сих пор есть следующее:
@Test
public void testNullExtrasSetsFailureView()
{
myActivity.onCreate(null);
// This is the bit I'm struggling with, how to obtain content view?
assertThat("the view the onCreate loads..", equalTo(R.layout.failure))
}
Как этого добиться?Я просматривал API и не мог найти никакого очевидного способа определения местоположения представления контента, кроме findViewById()
, но я хочу, чтобы макет не был отдельным элементом представления.
Спасибо