Jasmine 是否适用于 Chrome 应用
Does Jasmine work with Chrome Apps?
是的,如果你想知道的话。与Chrome Apps的CSP限制没有冲突,Derick Bailey的Jasmine.Async(https://github.com/derickbailey/jasmine.async)也是如此。
我以正常方式设置测试,对Chrome应用程序环境没有任何不同。为了开始测试,我基于传统的 Jasmine 调用示例使用了这个函数:
function jasmine_run() {
var jasmineEnv = jasmine.getEnv();
jasmineEnv.updateInterval = 1000;
var htmlReporter = new jasmine.HtmlReporter();
jasmineEnv.addReporter(htmlReporter);
jasmineEnv.specFilter = function(spec) {
return htmlReporter.specFilter(spec);
};
jasmineEnv.execute();
}
我没有解决的一个问题是,因为我不关心它,输出中的任何链接(用于运行单个测试等)都不起作用,因为 Chrome 应用程序中没有导航。但是,这绝不会影响测试本身,只会影响HTML显示的一个功能。
几乎所有值得做的事情都是在我的应用程序中异步完成的,但Jasmine.Async处理得很好,就像这个例子一样(Facebook模块是我自己的):
describe('Facebook',
function () {
var async = new AsyncSpec(this);
async.it("authorizes",
function(done) {
Facebook.authorize(
function(success) {
expect(success).toBeTruthy();
done();
}
);
}
);
async.it("searches",
function(done) {
Facebook.call("search?q=" + encodeURIComponent('Adolfo') +
"&type=user&fields=picture,gender,id,name,updated_time,username",
function (result) {
expect(result.data.length > 0).toBeTruthy();
expect(result.data[0].username).not.toBeNull();
done();
}
);
}
);
}
);
我没有检查Jasmine是否适用于Chrome扩展程序,因为我不编写扩展程序。
添加一些信息作为答案,因为问题已经回答了。
前段时间我在应用程序开发中使用了Jasmine,没有任何问题。但是,我处理它的方法略有不同,这意味着我的输出确实正确打开。
我没有在普通应用程序中运行测试,而是创建了一个用于运行茉莉花测试的测试页面。由于应用的逻辑(由于 CSP)与 HTML 文件是分开的,因此这应该始终是可能的,并且更容易将测试代码与应用程序逻辑分开。
相关文章:
- Chrome应用程序调整窗口大小保持纵横比
- Chrome.downloads.download在Chrome应用程序中
- 如何在Chrome中找到JSON后将其放入我的应用程序's开发人员工具
- chrome.serial在chrome打包应用程序中不可用
- 应用将图表转换为图像的jqplot代码时Chrome挂起
- 猫头鹰旋转木马动画未在Chrome中应用
- 无法在Chrome(打包)应用程序上检测到ESC按钮(全屏显示时)
- Chrome应用程序在全屏中创建新窗口-html元素不是全高的
- 如何在ChromeOS上从Chrome应用程序配对新的蓝牙设备
- 通过chrome后台扩展或后台应用程序访问用户麦克风
- 在Chrome和Safari中启动Angular JS应用程序的差异
- 像Advanced Rest Client这样的Chrome应用可以设置引荐来源网址标头,而网站则不能
- 角度UI路由器无法在chrome应用程序上运行
- 如何在Chrome应用程序中打开base64 PDF
- 使用 Apps Script API 的 Chrome 应用
- Chrome 包应用程序中的评估
- Chrome 打包应用程序 - 在后台/事件页面中使用 AngularJS
- 如何在不按ctrl+F5的情况下更新我的Web应用程序(chrome、mozilla、IE8+)更改
- 启动时启动chrome应用程序
- Web应用chrome, javascript,添加函数到子窗口,从父窗口访问它们