Ruby/JRuby på Android. Del 3 – Cucumber snurrar nu på target!

Happy Droid

ÄNTLIGEN FUNKAR SKITEN!!!

Det slutade med JRuby, Native Driver och cucumber-jvm paketerat som en client.jar och en server.jar

Serverdelen bakas in i apk:n och anropas via JUnit och instrumentering av Maven i Eclipse som ett vanligt JUnit testfall.

Klientdelen används av testramverket som implementerar features, step definitions och själva testmotorn för att kunna snacka med applikationen som körs på target. (dvs telefonen eller emulatorn)

Jag har bara hunnit implementera ett par saker men i huvudsak så fungerar det riktigt bra! Får inte de utskrifterna jag vill än men det är bara en formatteringsfråga och jag snor ihop en template för det senare. Just nu använder jag ju Eclipse ändå men sen blir det Maven eller Ant via sh som gäller och då kommer testrapporten att skrivas ut i samma shell.

Kommunikationen sätter man upp som vilken instrumentering som helst och är inga konstigheter. Sätter även upp port forwarding så man kan köra via IP. (det måste man faktiskt)

adb shell am instrument com.sony.secret.secret.secret/com.google.android.testing.nativedriver.server.ServerInstrumentation
adb forward tcp:54129 tcp:54129

Sen är det bara att köra sina step definitions och voila! BDD på Android! 🙂

Nu har jag ett hästjobb framför mig med att skriva ett testramverk för en … till … för att kunna möjliggöra BDD framöver på den produkten och det skall bli riktigt kul!

Det var länge sedan jag grävde ner mig så här djupt i mjukvara samt faktiskt skrev kod för det lovade jag mig själv för 6 år sedan att jag skulle sluta med men ibland kan man inte hålla fingrarna i styr och det är ordentligt utmanande med tanke på hur länge sedan det var som jag kodade någonting av magnitud!

Projektet jag jobbar med är hemligt men det finns en liten chans att det kan släppas som Open Source LGPLv3 eller liknande och då får ni se hela rasket.

Feature: BDD enabled Android development
  Background: Testing Native driver + cucumber
    Given I have launched my secret activity

  Scenario: Verifying secret driver
    When I create a ... of size 2f
    Then I should take the screenshot testrun1
    And verify the dimensions to 2f

quod erat demonstrandum!

Author: politisktinkorrektpappa

Share This Post On

Submit a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.