2015-09-03 1 views
0

У меня есть метод, который начинает пару асинхронными задач на фоне резьбы:Проверка, что асинхронная запуска задачи с robolectric 3

public void fetchSome() { 
    new SomeTask1().execute(); 
    new SomeTask2().execute(); 
    new SomeTask3().execute(); 
} 

Как я могу проверить, что эти три задачи выполняются с Robolectric 3.0.

+0

Просто любопытно, что мне не хватает для получения нисходящего? Я улучшу его. –

+0

Что вы хотите проверить здесь? Вы запустили три AsyncTasks? Их результат? Еще один вопрос: почему метод является областью пакета? –

+0

Я хочу протестировать эти три задачи. Я уточнил вопрос с дополнительной информацией. благодаря –

ответ

0

Прежде чем я предупредил вас, что AsyncTask не являются хорошим решением для выполнения фоновых операций. Взгляните на переговоры в Интернете, что так плохо с AsyncTask.

Что касается меня, вы пытаетесь проверить слишком много вещей. Я бы разделил его.

  1. испытаний, что ваш код, начиная асинхронные задачи:

    • Написать класс Factory, который будет создать экземпляр асинхронных задач для вас
    • Mock завода в тесте и возвращении издевается для задач
    • Проверить, что выполнить для выполнения задачи
  2. Проверьте, что ваши задачи выполняют правильную работу:

    • Писать тест для каждого асинхронном класса задач
    • макет зависимостей и проверить, что задачи взаимодействия с внешним миром правильно
  3. Проверьте, что ваши задачи обновления пользовательского интерфейса с результатом:

    • Представляем слушателей
    • Откажитесь от них и перейдем к задачам асинхронного программирования
    • Убедитесь, что задачи синхронизации называет их во время окончательного собственного жизненного цикла
    • Make UI реализовать контракт слушателей
    • вызовов методов тестирования UI слушатель
    • Убедитесь, что он правильно обновляется с результатами

Надежда помогает!

 Смежные вопросы

  • Нет связанных вопросов^_^