通过 CLI 的 CasperJS:如何加载外部 JS 文件?

CasperJS via CLI: How to load external JS files?

这可能是一个愚蠢的问题(CasperJS 菜鸟):给定 CasperJS 文档中的这个示例:

// cow-test.js
casper.test.begin('Cow can moo', 2, function suite(test) {
    var cow = new Cow();
    test.assertEquals(cow.moo(), 'moo!');
    test.assert(cow.mowed);
    test.done();
});

如果 Cow() 是在文件 \path\to\myCowClass.js 中定义的,当我通过 CLI 使用 CasperJS 时如何加载这个 class?这是 files 配置参数或 clientScripts 的作业吗?

如果有人能简明扼要的话我会很高兴tutorial/example。

我们来处理您的 Cow.js 文件。我假设它看起来像这样:

function Cow() {
  this.mooed = false;
}

Cow.prototype.moo = function () {
  this.mooed = true;
  return 'moo!';
}

此文件应该是您的测试的依赖项。在这里你可以:

  • 使用 includes 选项从命令行注入 "class" 文件
  • 使用 phantom.injectJs
  • 从测试文件中注入 "class" 文件

--includes

casperjs test --includes=/path/to/Cow.js cow-test.js

phantom.injectJs

// cow-test.js
phantom.injectJs('/path/to/Cow.js');

casper.test.begin('Cow can moo', 2, function suite(test) {
  var cow = new Cow();
  test.assertEquals(cow.moo(), 'moo!');
  test.assert(cow.mooed);
  test.done();
});