Работа с фреймворком Android / Robolectric - Созданное действие возвращает значение null в getResource

Это связано с использованием фреймворка Robolectric для модульного тестирования на Android. Я' m получает исключение нулевого указателя в коде, который не имеет проблем при нормальной работе. Я только начинаю заниматься робототехникой, так что это, наверное, довольно просто.

Вот код вызова для тестирования:

@Test
    public void testInitUtilsInitSequenceNumberIsRandom() {

    // create an activity for reference 
    InitUtils initUtils = new InitUtils();

    // do static initialization to parse questions into memory
    InitUtils.initialize(initUtils);  // <============ the call from roboelectric framework

    // retreive app state
    AppState appState = (AppState) initUtils.getApplicationContext();

    // fill in later
    fail("not implemented");

}

Вот метод, вызываемый в InitUtils, который дает сбой

/ ** * Загружает XML в переменную члена класса {@see mQuestions}. * * /

   public static void initializeQuestions(Activity activity, AppState appState)                  {

    /* create XML Parser */
    XmlResourceParser questionBatch;      
    /* local question variable */
    Question question = null;

    /* retrieve the XML for parsing */
    // ===============   This returns null  ==============================  
   questionBatch = activity.getResources().getXml(R.xml.questions);

   /* Parse the XML */
   int eventType = -1;     
   /* iterate through XML */
   while (eventType != XmlResourceParser.END_DOCUMENT) {
       if (eventType == XmlResourceParser.START_TAG) {

         /* Get the questions */
         // ================================= NPE exception ====================== 
         String strName = questionBatch.getName();
         ...etc

Есть ли что-то особенное, что мне нужно сделать, чтобы получить ресурс?

6
задан razlebe 26 November 2011 в 10:31
поделиться