gpt4 book ai didi

javascript - qunit 和 jquery 的未捕获异常

转载 作者:搜寻专家 更新时间:2023-11-01 00:46:04 25 4
gpt4 key购买 nike

我在尝试使用 qunit 在命令行上运行 javascript 单元测试时遇到问题。

下面是一些重现错误的示例代码:

文件util.js:

function abc() {
return 'abc';
}

if (typeof module !== 'undefined' && module.exports) {
module.exports = {
abc: abc
};
}

文件 util-tests.js

var qunit = require("qunit");

test("Test abc function", function () {
equal(util.abc(), 'abc');
});

使用这些文件,我可以使用以下命令运行测试(在 shell 中提供类似表格的输出以及测试结果):

qunit -c util:util.js -t util-tests.js

现在,如果我将以下内容添加到 util.js,它就会中断

$(document).ready(function () {
/* some code here */
});

这是错误输出:

qunit -c util:util.js -t util-tests.js

Testing /home/mfrere/jstst/util.js ... [Error: Uncaught exception in child process.]

同样的问题:

var a = $;

或:

var a = document;

所以这让我觉得我需要以某种方式导入 jQuery,所以我考虑将 jquery.js 添加为命令的依赖项,如下所示:

qunit -c util:util.js -t util-tests.js -d jquery.js

即使 util.js 不包含对“$”的任何引用,上述命令也会给我同样的“未捕获异常”错误。

我可能还需要做其他事情才能让 qunit 识别“文档”,但我不知道是什么或如何做。

现在我的问题是:我应该怎么做才能让它工作?重要的是要记住我想在命令行而不是浏览器中测试我的文件。 p>

以防万一我在设置过程中做错了什么,这就是我安装 node/qunit(在 ubuntu 下)的方式:

git clone git://github.com/creationix/nvm.git ~/.nvm

在 .bashrc 中,我添加了以下行:

source ~/.nvm/nvm.sh

选择了一个特定版本的 Node

nvm install v0.9.2
nvm alias default 0.9

并安装了 qunit

npm install -g qunit

最后我不得不在 .bashrc 中添加这个:

export NODE_PATH=~/.nvm/v0.9.2/lib/node_modules

最佳答案

你还没有导入 jQuery:


$ = require('jquery'),
jQuery = require('jquery');

如果您正在使用 browserify,请将其更改为“jquery-browserify”。

关于javascript - qunit 和 jquery 的未捕获异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16110027/

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