Большое количество юнит-тестов приводит к зависанию с ошибкой Binder Binder
У меня есть около 400 модульных тестов, которые я написал для своего приложения для Android. Если я запускаю тесты пакет за пакетом, все работает нормально, и все мои тесты проходят. Однако, если я попытаюсь запустить их все сразу, в конце концов (около 360 тестов), Android начнет выплевывать!!! Failed Binder Transaction Errors !!!
, Приблизительно после 10-20 из этих ошибок процесс для приложения, которое я тестирую, останавливается, и модульные тесты даже не заканчиваются.
Должен отметить, что за это время Eclipse сообщаетCollecting test information
в консоли. Я думаю, что это странно, потому что это показывает, что он выполняет тесты, хотя пользовательский интерфейс JUnit этого не отражает. Когда все работает правильно, во времяCollecting test information
На первом этапе я вижу, что тесты запущены, затем появляется пользовательский интерфейс JUnit, а затем все тесты запускаются снова (я знаю это по чтению logcat). Это (я думаю) отдельная проблема, но я чувствовал, что упомянул бы ее, если бы кто-нибудь знал, о чем идет речь.
Редактировать с 6 июня 2011 г.
Согласно приведенному ниже ответу Кристофера, я убедился, что это происходит только при попытке запустить его через Eclipse. Если я запускаю свой набор тестов, используя ANT, все тесты, наконец, выполняются.
Когда я пытаюсь запустить свой набор тестов сейчас, Eclipse по существу зависает от «сбора тестовой информации». Я не позволял ему работать в течение длительного периода времени, но я попробую, как только смогу, посмотреть, завершится ли он когда-нибудь.