【问题标题】:how does one use module.exports and require in protractor tests?如何在量角器测试中使用 module.exports 和 require?
【发布时间】:2016-12-24 06:37:44
【问题描述】:

我正在尝试在我的 e2e 测试中使用 PageObject 模式,但我收到一条消息,提示找不到模块(错误:找不到模块 InsuredSearchPage)

/acceptance/insured/search/SearchPage.js

我有关注

enter code here

var InsuredSearchPage = (function () {

    'use strict';

    function InsuredSearchPage() {

        var searchButton = element(by.id(searchFormBtn));

        var page = {
            search: search
        };

        return page;

        function search() {
            searchButton.click();
        }
    }

    return InsuredSearchPage;

})();

module.exports = InsuredSearchPage;

在测试中(即同一个文件夹)我有这个

var InsuredSearchPage = require("InsuredSearchPage");

当我运行测试时,我得到“错误:找不到模块 InsuredSearchPage。”我做错了什么?

【问题讨论】:

  • 对于简单的键/值对列表,您可以在不需要函数的情况下在所需文件中使用 module.exports = { key: 'value', key2: 'value2' } -- 然后将变量设置为该文件的 require 将代表数据。

标签: node.js angularjs protractor


【解决方案1】:

它正在node_modules 中寻找InsuredSearchPage 包。你需要指定InsuredSearchPage的位置相对于文件所在的目录

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

The docs have more information on using require()

【讨论】:

    【解决方案2】:

    在 SomeKittens 的回答之上

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

    我还必须将所需文件中的最后一行从“module.exports =”更改为“exports.InsuredSearchPage = InsuredSearchPage”

    节点 6.9.2,量角器 4.0.13

    【讨论】:

      猜你喜欢
      • 2015-05-21
      • 1970-01-01
      • 2015-05-10
      • 2013-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-25
      相关资源
      最近更新 更多