如何使用CasperJS测试用于浏览器的amd模块编写的js模块

时间:2013-12-17 16:14:27

标签: javascript unit-testing requirejs phantomjs casperjs

我今天花了足够的时间尝试创建单元测试来覆盖我作为amd模块编写的js模块。不幸的是,我放弃了 当然,你不能只是require你的js文件,因为define函数将是未定义的。
我按照以下行运行我的测试脚本:

casperjs test test.js

然后,我尝试将所有脚本注入空白页面并对其进行评估:

var
  casper = require("casper").create({
    clientScripts: [
      'require.js',
      'config.js',
      'MyJSClass.js'
    ],
    logLevel: "debug",
    verbose: true
  });
casper.test.begin('charts created', 1, function(test) {

  casper.start().then(function() {
    require('utils').dump(this.evaluate(function() {
      return this.requirejs('MyJSClass');
    }));
  })
    .run(function() {
      test.done();
    });
});

结果是null

之后我创建了一个空的html文件并在那里加载了所有脚本。结果是相同的=(我无法让我的模块进行测试
有什么想法吗?

P.S。 casper ver 1.1-dev,phantomjs 1.9.2

0 个答案:

没有答案