Basierend auf Karma # 472 funktioniert es nicht für einige / die meisten Leute, aber einige behaupten, es kann getan werden.
Was ich versuche zu erreichen, ist der Zugriff auf die Cordova-Umgebung (zB FileSystem-API, Batterieereignisse usw.) in meinen Spezifikationsdateien / Tests. (Ich mache übrigens eine Menge Dienste, aber ich würde gerne auf die echte API zugreifen)
Ich habe versucht, die Cordova-App auf die Karma-Runner-Seite mit window.location = 'http://karma:8080'
umzuleiten, und während ich die Basis cordova.js
-Datei in den Tests laden kann, wird deviceready
nie ausgelöst (siehe Ticket), und ich kann nicht um den JS-Code zu bekommen, der benötigt wird, um Plugin-Funktionalität zu haben (dh Code, der von Plugins abhängt, kann nicht getestet werden).
Ich habe versucht, in der Cordova App ein <iframe>
zu erstellen, das auf Karma zeigt, aber auch auf cordova
konnte ich nicht zugreifen.
Ich habe gefunden andere injizieren Cordova zu window.parent
, aber ich sehe nicht wirklich, wie das funktionieren könnte (ich kann nicht auf window.parent
von meinem <iframe>
zugreifen).
Ich habe versucht, dies in Ripple-Emulator und in Android AVDs zu tun, mit dem gleichen Mangel an Erfolg .
Irgendwelche Hinweise werden wirklich geschätzt. Ich verwende Cordova 3.4.1 auf Android (nicht auf iOS ausgerichtet) und die neuesten Karma & amp; Jasmin, plus AngularJS 1.3.
Sie könnten zwei separate Dateien index_real.html
und index_test.html
in Ihrem www
-Ordner erstellen.
index_real.html
ist die index.html
, die Sie derzeit haben. index_test.html
würde mit der Jasmine-Version von index_real.html
instrumentiert werden.
Erstellen Sie real.sh
:
cp index_real.html index.html
cordova run
und test.sh
:
cp index_test.html index.html
cordova run
Wenn Sie real.sh
ausführen, wird Ihre nicht instrumentierte Version der Anwendung ausgeführt, und test.sh
wird Ihre Testsuite ausführen. Wenn Sie index_test.html
in der Nähe Ihres index_real.html
eingerichtet haben, werden Sie UI-Automatisierungstests durchführen. Wenn Sie einen standardmäßigen Jasmine-Test-Runner verwenden, verfügen Sie über eine Einheitentestsuite.
Tags und Links cordova tdd jasmine karma-runner cordova-3