0

Как узнать, когда все потоки завершили выполнение и простаивают?Android, обнаруживающий, когда все потоки бездействуют - модульное тестирование

Я пытаюсь написать модульные тесты для приложения на базе Java на базе Java. Тестирование требует, чтобы поставщик контента был запрошен, и это содержимое добавлено в ListView до фактического теста.

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

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

После просмотра GTAC 2013: Espresso: Fresh Start to Android UI Testing - YouTube video (см видео в 9: 40-11: 31) Я имею в виду, что должна быть способом обнаружения, когда все потоки простаивают, и выполнение моего следующего шага кода.

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

ответ

0

Когда они сигнализируются и поэтому начинают делать вещи, имейте их сначала с атомным int. Когда они закончатся и собираются прекратить делать что-то, пусть они убьют int. Любой поток, который делит int на 0, вызывает метод/функция onCompletion/any.