如何将jsdom.jQueryify与jasmine节点一起使用
How to use jsdom.jQueryify with jasmine-node?
是否可以使用jsdom的jQueryify功能来使用jasmine节点?我想做的是使用NodeJS测试一些依赖于DOM存在的JavaScript。
这是我尝试的一个简化案例。当我运行脚本时,jasmine节点识别规范,但不运行expect()
:
var fs = require('fs'),
jsdom = require('jsdom'),
window = jsdom.createWindow(),
jasmine = require('jasmine-node')
describe("jQueryify", function() {
it('should run the test!', function () {
jsdom.jQueryify(window, function (window, jquery) {
expect(1).toEqual(1)
})
})
})
或者,有没有一种不同/更好的方法来测试NodeJS中假设类似浏览器的环境的东西?
好吧,基于一个半相关问题的答案,我能够执行expect()
。我想我的问题的答案不是使用内置的jQueryify函数,而是"手动"引入jQuery。
var fs = require('fs'),
window = require('jsdom').jsdom('<html><head></head><body></body></html>').createWindow(),
script = window.document.createElement('script'),
jasmine = require('jasmine-node')
describe("jQueryify", function() {
it('should run the test!', function () {
script.src = './path/to/jquery.js'
script.onload = function () {
expect(typeof window.$).toEqual('function')
asyncSpecDone()
}
window.document.head.appendChild(script)
asyncSpecWait()
})
})
相关文章:
- 节点导出返回一个空对象
- 可以前端maven插件使用节点,npm已经安装
- 将 NPAPI 插件与节点一起使用
- 将mod_pagespeed与本机节点.js服务器一起使用
- 节点.js将我的模块连接在一起而不会变得一团糟
- 将 JavaScript 与 TreeView 节点一起使用 检查/取消选中功能
- Pure.js 必须与现有页面节点一起使用
- 我们如何或可以通过 npm 与 Meteor 一起使用节点模块
- 将两个对象与多个节点组合在一起——为什么这段代码有效
- 插入跨度后将文本节点合并在一起
- d3.js将节点和标签一起移动
- NodeJS使用节点static和restify在一起
- 无法在节点服务器中接收与get请求一起发送的数据
- 将节点与break标记一起附加到文档片段
- 如何将$se.trustAsHtml与一些HTML节点一起使用
- 如何将jsdom.jQueryify与jasmine节点一起使用
- 如何使用xmlhttprequest使一个新的子节点与php脚本中的节点数据一起出现在html中
- 让 CORS 与 JQuery 客户端、节点/快速服务器一起工作时出现问题
- 将 Ember 数据与 D3.js 节点一起使用(强制布局)
- 如何将节点作为参数与其他类型一起传递给使用ajax在umbraco中的函数