如何在量角器测试中使用module.exports和require?

时间:2014-05-21 18:50:05

标签: node.js angularjs protractor

我正在尝试在我的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。'我做错了什么?

2 个答案:

答案 0 :(得分:6)

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

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

The docs have more information on using require()

答案 1 :(得分:1)

在SomeKittens的回答之上

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

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

节点6.9.2,量角器4.0.13

相关问题