无法使用require将模块导入到nightwatch测试中

时间:2015-12-07 13:31:50

标签: integration-testing browserify nightwatch.js

如何在nightwatch规格测试中导入模块?

如果我尝试运行这个守夜人测试:

var settings = require("../settings")

module.exports = {
  'Test PCC': function (browser) {


browser. //etc

我得到undefined不是一个函数。我是否需要使用browserify之类的方法打包?

2 个答案:

答案 0 :(得分:1)

您不需要browserify来导入模块。如果路径正确并且您调用的函数存在,它应该有效。

我猜您在未显示的部分代码中调用'settings.some_function'。

检查设置本身是否已定义。如果没有,那么路径可能不正确或设置没有真正导出任何东西。

我已经成功地要求npm模块和自定义本地模块,而不需要浏览器。

如果路径正确且导出正确,则这两种方法都有效:

  • var _ = require('underscore');
  • var u = require('../../../ common / utilities')。utilities;

答案 1 :(得分:0)

文件结构:

settings.js
/test.nightwatch.js

test.nightwatch.js:

var settings = require("../settings");

module.exports = {
  "subTest1" : function(client){
    var a = settings.someProperty;
    settings.someFunction(a);
    //logs "some static parameter" to console

    ...
    //test code
  }
}

settings.js:

exports.someFunction = function(param){
  console.log(param);
}

exports.someParam = "some static parameter";