To be able to develop in TDD
As a PhoneGap developer using Jasmine and Karma
I want to be able to run Jasmine spec files inside a PhoneGap application
So I can verify my Cordova specific code in my unit tests
Основываясь на карме #472, это не работает для некоторых/большинства людей, но некоторые утверждают, что может быть сделано.
Чего я пытаюсь добиться, так это иметь доступ к среде Cordova (например, FileSystem API, событиям батареи и т. д.) в моих файлах/тестах спецификаций. (Кстати, я издеваюсь над многими сервисами, но я хотел бы получить доступ к реальному API)
Я попытался перенаправить приложение Cordova на страницу запуска Karma с помощью window.location = 'http://karma:8080'
, и хотя я могу загрузить базовый файл cordova.js
внутри тестов, deviceready
никогда не срабатывает (см. Билет), плюс я не могу получить код JS, необходимый для иметь функциональность плагина (т.е. код, зависящий от плагинов, не может быть протестирован).
Я пытался создать <iframe>
, указывающий на Karma, внутри приложения Cordova, но также не смог получить доступ к cordova
.
Я обнаружил, что другие внедряют кордову в window.parent
, но я этого не делаю. Я действительно не понимаю, как это может работать (я не могу получить доступ к window.parent
из моего <iframe>
).
Я пытался сделать это в ripple-emulator и в Android AVD, но безуспешно.
Любые указатели действительно ценятся. Я использую Cordova 3.4.1 на Android (не для iOS) и последние версии Karma & Jasmine, а также AngularJS 1.3.