2014-11-25 4 views
1

Я хотел бы использовать Behavior Driven Development (BDD) для разработки приложения для Android. Я думаю об использовании jBehave с Robolectric. Кто-то написал об использовании jBehave with Robotium, но кто-нибудь знает, может ли Robolectric использоваться вместо Robotium с jBehave?Работает ли jBehave с Robolectric?

Любые известные проблемы?

+3

Я всегда думал, что Robolectric используется для модульных испытаний, а jBehave - для приемочных испытаний. Но, возможно, я ошибаюсь –

ответ

2

Robotium - это инструмент для модульных/приемочных испытаний на эмуляторе или реальном устройстве, Robolectric - это библиотека для тестирования кода Android на рабочем столе jvm. Я думаю, можно было бы соединить jBehave с Robolectric, но опять же, как и для меня, это было бы что-то плохое.

Как пример простого теста поведения на Android:

Activity A with list, user press item at position 2, user see Activity B details 
for for the second object in the list. 

Тест на Robotium будет:

  • нажмите на активности Список пункт
  • проверить, что активность B показано с UI, который представляет детали

Испытания с Robolectric меньше:

  • вы можете проверить, что при нажатии по элементу будет срабатывать Intent для запуска нового вида деятельности с заданными деталями
  • еще один тест будет проверить, что B покажет деталь

Таким образом, вы могли бы попробовать с jBehaveкарте«подробнее пункт» в Robolectric«Намерение выстрелил», но эта проверка вводит в заблуждение, потому что есть так много вещей, которые могли бы произойти от стрельбы Предназначение для показа деятельности с деталями. Вы можете в Robolectric также попытаться активировать деятельность и проверить детали, но этот уровень издевательств слишком много для BDD, которые предполагают иметь как можно меньше насмешек.

+1

Спасибо @EugenMartynov, я думаю, что ваш комментарий к моему вопросу был хорошим резюме: Robolectric используется для модульных тестов, а jBehave - для приемочных испытаний. Как менеджер продукта, мне понравилась идея объединить эти два, потому что я думал, что это будет производить продукт более высокого качества. –

+0

Кроме того, @EugenMartynov вы можете просмотреть свой ответ для опечаток, и я с удовольствием приму его в качестве ответа. У меня возникли проблемы с чтением блока Activity, потому что я думаю, что есть опечатки. –