我正在尝试用Karma Jasmine创建一个与Dropbox api交互的单元测试。
下面是测试。它编译指令,然后单击它。这将检查文件选取器窗口是否打开。以这种方式检查窗口打开对其他测试有效,但在本例中它失败了,因为ReferenceError: Can't find variable: Dropbox
。这是因为它不在测试中。该文件是通过https://www.dropbox.com/static/api/2/dropins.js直接与Dropbox托管的,所以我似乎不能注入它……所以问题是,在这种情况下,我如何使Dropbox
可用?
it(": clicking button should open Dropbox Picker window", function(){
var element = $compile("<span data-dropbox extensions=\"extensions\"></span>")($scope);
$scope.$digest();
var theButton = element.find('button');
spyOn($window, 'open');
theButton.triggerHandler('click');
expect($window.open).toHaveBeenCalled();
});
提前感谢
发布于 2016-01-27 12:44:57
你的方法是错误的。您正在尝试对按钮单击进行单元测试。您不会对按钮单击进行单元测试,而是对控制器/服务/指令代码进行单元测试。
要测试单击按钮,请使用量角器。这是一个E2E测试(端到端)。
https://stackoverflow.com/questions/35037148
复制相似问题