如何使用Jasmine和Karma测试手机应用


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环境(例如;文件系统API,电池事件等)在我的规范文件/测试中。(顺便说一下,我确实模拟了很多服务,但我想访问真正的API)

我试图将Cordova应用程序重定向到与window.location = 'http://karma:8080'的Karma跑者页面,而我可以在测试中加载基础cordova.js文件,deviceready永远不会触发(见票),再加上我无法抓取所需的JS代码插件功能(即。依赖插件的代码无法测试)。

我试图在Cordova应用程序中创建一个指向Karma的<iframe>,但也无法访问cordova

我发现其他人正在向window.parent注入cordova,但我真的看不到这是如何工作的(我无法从我的<iframe>访问window.parent)。

我曾尝试在波纹模拟器和Android avd中这样做,但同样缺乏成功。

任何指示都非常感谢。我在Android上使用Cordova 3.4.1(不针对iOS),以及最新的Karma。

您可以在www文件夹中创建两个单独的文件index_real.htmlindex_test.htmlindex_real.html是您当前拥有的index.htmlindex_test.html将使用index_real.html的Jasmine版本进行测试。

创建real.sh:

cp index_real.html index.html cordova run

and test.sh:

cp index_test.html index.html cordova run

运行real.sh将运行未配置的应用程序版本,而test.sh将运行测试套件。如果您将index_test.html设置在您的index_real.html附近,您将拥有UI自动化测试,或者如果您将放置标准的Jasmine测试运行器,您将拥有单元测试套件。

相关内容

  • 没有找到相关文章

最新更新