如何在CasperJS中使用sugar.js?

时间:2014-11-15 15:56:14

标签: javascript casperjs sugar.js

要明确的是,我想在我的casperJS脚本中使用sugar.js扩展名(不同之处在于它是正在测试的网站的一部分)。

我在测试模式下使用casperJS(即casperjs test myscript.js),如果这有任何区别的话。

2 个答案:

答案 0 :(得分:2)

Sugar基本上是一个支持库。它不会导出任何函数,但会将函数添加到JavaScript运行库的各种类型的对象中。

步骤:

  1. sugar.min.js放在脚本目录或其他目录中
  2. require("sugar.min");直接或从其他目录require("./relativePath/sugar.min");执行文件。
  3. 以下完整脚本显示它有效:

    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.readeval来阅读文件。

答案 1 :(得分:1)

只是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");