Android Аннотации и юнит-тестирование

Я использую AndroidAnnotations (2.5) в примере проекта, над которым я сейчас работаю.

Так как вы можете аннотировать ваши классы, например,@EActivity,@ViewById,@Click Все это приведет к созданию сгенерированного кода во время компиляции, мне было интересно, как можно было бы создать модульные тесты / функциональные тесты для любого приложения на основе Android-аннотаций.

Мне бы хотелось услышать некоторые мнения по этому вопросу.

Cheers,

Ответы на вопрос(1)

Решение Вопроса

Во.

Есть несколько вариантов для вас. Конечно, вы можете протестировать предварительную генерацию кода в, как я утверждаю, стиле более модульного тестирования. Это должно проверить Java-код изолированно, желательно без сгенерированного кода.

Вы также можете проверить код после генерации. Классы MyActivity_, сгенерированные AA, могут быть созданы непосредственно после времени компиляции и соответственно протестированы. Я утверждаю, что это приближается к стилю интеграционного тестирования.

Хотя, я думаю, что всегда лучше тестировать, чем не тестировать, я думаю, что для интеграционных тестов вы должны тестировать оборудование в ситуации, аналогичной производственной. Это дает вам полную картину того, как ваше приложение будет вести себя в реальной ситуации. Таким образом, для интеграционных тестов я предпочитаю высокоуровневые тесты «все хорошо работает вместе

Robolectric а также Robotium может сильно помочь в этих двух усилиях. Robolectric позволяет создавать экземпляры Activity в модульном тесте, в то время как Robotium позволяет тестировать стиль селена непосредственно на устройстве.

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

 Dennis Jaamann16 мая 2012 г., 17:19
Ну, в принципе, я был бы более склонен к модульному тестированию сгенерированного кода, так как это код, который будет выполняться, и который вы будете упаковывать в свой apk и развертывать в магазине Play. Это имеет смысл или нет?
 John Ericksen16 мая 2012 г., 19:07
Имеет смысл для меня. Это сценарий, который я описал во втором абзаце.
 Pierre-Yves Ricau19 мая 2012 г., 17:21
Также см этот ответ в сообщении, указанном @ johncarl.

Ваш ответ на вопрос