gpt4 book ai didi

javascript - 使用 Jasmine 和 node.js 测试客户端 javascript 代码

转载 作者:数据小太阳 更新时间:2023-10-29 05:53:01 26 4
gpt4 key购买 nike

给定:客户端 javascript 代码(在浏览器中运行,使用 jquery 等)。目前,代码已使用 Rhinoenvjs 进行测试。我们想切换到 node.js。然而,经过一些研究,找不到任何类似 envjs 的模拟浏览器的补充。

在“按原样”运行 node.js 时,甚至缺少 alert()window 等基本功能。

node.js 是否有类似于 Rhino & envjs 的标准包?

最佳答案

你可以使用 zombie.js ,其中包含测试所需的一切。或者您可以利用 jsdom(zombie.js 在内部使用)在 node.js 中获取 DOM,并针对该 DOM 执行测试。

我也可以推荐testling ,它根据您的规范在所有常见浏览器中执行测试——代码在实际浏览器中针对您的服务运行。

这是一个简单的 jsdom 示例:

var jsdom = require("jsdom");

jsdom.env(url, ["http://code.jquery.com/jquery.min.js"], function(err, window) {
// jQuery is at window.$
});

您可以使用 HTML 文档或片段来代替上面的 url

您还可以加载页面并获取任何外部资源,而不是直接向 jsdom 提供 jQuery 等:

var jsdom = require("jsdom").jsdom,
doc = jsdom(markup),
window = doc.createWindow();

// Do your stuff on window, jsdom will have fetched all the scripts referenced in the markup

同样,zombie.js 在内部使用 jsdom,它可能是一个更好的起点。

关于javascript - 使用 Jasmine 和 node.js 测试客户端 javascript 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9517351/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com