需要明确的是,我想在我的 casperJS 脚本中使用Sugar.js扩展(不同于它是被测试网站的一部分)。
casperjs test myscript.js
如果这有什么不同,我正在测试模式下使用 casperJS(即)。
需要明确的是,我想在我的 casperJS 脚本中使用Sugar.js扩展(不同于它是被测试网站的一部分)。
casperjs test myscript.js
如果这有什么不同,我正在测试模式下使用 casperJS(即)。
Sugar 基本上是一个支持库。它不导出任何函数,而是将函数添加到 JavaScript 运行时的各种类型的对象中。
脚步:
require("sugar.min");
直接或从另一个目录执行文件require("./relativePath/sugar.min");
。以下完整的脚本表明它可以工作:
casper.test.begin("sugar1", function suite(test){
test.assertTrue(![1,2,3].average, "average function does not exist");
require("sugar.min");
test.assertFalse(![1,2,3].average, "average function does exist");
test.assertTrue([1,2,3].average() === 2, "average function works");
test.done();
});
require
通常用于加载模块,但由于 Sugar 不导出任何内容,因此它只是执行。另一种方法是使用fs.read
and读取文件eval
。
只是对 Artjom 答案的补充;当使用 SlimerJS 作为引擎时,它在使用require
. 我使用以下方法让它工作(使用 PhantomJS 和 SlimerJS):
var fs = require('fs');
var sugarJS = fs.read("/path/to/sugar.min.js");
eval(sugarJS);
作为替代品:
require("/path/to/sugar.min");