Никакая палата общин, входящая в систему Android?

У меня есть довольно крупная библиотека, которую я разработал специально для использования в моем Приложении Android. Однако сама бизнес-логика не имеет никакой зависимости от Android. Для сохранения этого я использовал палату общин, Регистрирующуюся всюду по этой библиотеке, и это - соответствующие тесты JUnit (который я выполняю в Eclipse).

Однако теперь, когда я начинаю интегрировать его в Действие, которое я запускаю на Android, я не могу заставить свой вход работать. В Eclipse/JUnit я просто вытянул в файле банки log4j, а также log4j.properties файле. Это, кажется, не работает при развертывании к устройству. После борьбы с попыткой заставить это работать в течение нескольких часов, я сдался и попытался заменить все свое свободное городское население, регистрирующее материал с android.util.Log. Теперь я могу войти в систему устройство.. но все тесты JUnit повреждаются. Когда любой JUnit пытается зарегистрировать использование android.util.Log, это бросает RuntimeException 'Тупик!'.

Я предпочел бы возвращаться своему свободному городскому населению, регистрирующему подход.. если кто-либо может помочь с этим.. иначе.. что я могу сделать для получения моего выполнения тестовых сценариев JUnit с помощью 'android.util.Log'?

Заранее большое спасибо.. Я потратил больше, чем несколько часов на этом, и я хотел бы идти дальше к написанию реального кода снова!

6
задан Janusz 17 June 2010 в 07:55
поделиться

2 ответа

Вы можете создать интерфейс для своего собственного регистратора, который в зависимости от платформы создает экземпляр делегата для ведения журнала, который является общим для платформы. Пока вы работаете и отлаживаете, этого должно быть достаточно, позже в производственном коде на устройстве вы можете просто вставить регистратор, который ничего не делает, и вы сэкономите все время, необходимое для захламления телефонного журнала.

1
ответ дан 9 December 2019 в 22:29
поделиться

Я не верю, что есть порт log4j для Android atm. Тем не менее, Android имеет встроенный java.util.logging, и commons logging может подключаться к нему через Jdk14Logger. Если commons logging работает на Android, то вам, вероятно, будет хорошо идти.

4
ответ дан 9 December 2019 в 22:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: