如何 运行 mocha 中的外部脚本

How to run an external script in mocha

这可能是个愚蠢的问题,但我还是得问问社区。

我正在使用 Zombie.js 和 Mocha 进行测试,并且我有一个外部脚本 named:external.js.

// external.js

module.exports = "console.log('hey');";

我想将此外部脚本加载到 mocha 测试(不是 Zombie.js 打开的浏览器)中,并 运行 在 运行 测试之前加载它。

var myScript = require('../external.js');

describe('test script load', function() {
  browser.visit('www.example.com', done);

  // I want to load the external script here and run it before perfoming the test

  it('loads script', function (done) {
    browser.assert.success();
    done();
  });
});

我已经尝试了几种方法,比如创建脚本标签和插入我的外部脚本,但在 HTML 中似乎有效(因为它在 Zombie 的浏览器中运行良好)但我想要 [=25 之前的脚本=]测试。

您的意思是将脚本注入正在加载的页面 zombie.js?参见:Injecting javascript into zombie.js.

如果不是那样,您可以尝试这样的操作:

external.js:

 function doSomething() {
    console.log('hi there!');
 } 

 module.exports = doSomething;

mocha.js:

 var doSomething = require('./external.js');

 your test....

 doSomething();

 your test continued...

应该可以。