2017-03-01 115 views
1

我试图通过Cordova移动应用程序集成来了解业力/茉莉花。Karma Jasmine Cordova插件

但是我的问题是我想在我的单元测试上测试例如WifiWizard(cordova插件)。

e.g:

describe('WifiWizard',() => { 
    it('Is defined',() => { 
     expect(WifiWizard).toBeDefined(); 
    }); 

    it('Not Empty Object',() => { 
     expect(WifiWizard).not.toEqual({}); 
    }); 
}); 

但我需要cordova.js被收录,唉cordova.js被包含在我的WWW根文件夹中的index.html文件。

任何帮助将不胜感激。

+0

运行此单元测试时出现错误吗?那个错误说的是什么? –

+0

@SteveKennedy谢谢你的回复。它显示'ReferenceError:WifiWizard没有定义',因为我不包括cordova.js,但我似乎无法理解如何包含它,因为我相信在运行时创建cordova.js。 –

回答

1

WifiWizard是一个插件,因此它包含本地代码以及Javascript。测试这个的唯一方法是将插件的JS API截断以返回模拟响应,或者测试真实移动设备上的实际插件(而不是在浏览器中)。

实际上,您可以使用Appiumwd-bridge一起执行此操作,以便远程控制设备。我已经成功完成了这项工作,使用量角器测试来远程驱动运行基于科尔多瓦的应用程序的Android和iOS设备。量角器比Karma更适合这种端到端测试。有一个useful blog post,可以帮助你设置测试环境,如果你决定走这条路。

+0

感谢您的反馈。我会用你的方式来做测试。非常感谢你! –

相关问题