0

我正在尝试将 Jasmine 报告与 Angular 端到端测试集成。但是在运行测试时,我得到了以下错误(我什至在基于 Windows 的环境中尝试了同样的方法并得到了相同的结果),

in on prepare method
Error: Cannot find module 'jasmine-reporters'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at exports.config.onPrepare (/apps/opt/projects/pcp/workspace/pcp/modules/web/public/test/config/protractor-e2e-conf.js:18:6)
    at Runner.runFilenamesOrFns_ (/apps/softwares/node-v0.10.28-linux-x86/lib/node_modules/protractor/lib/runner.js:64:9)
    at Runner.runTestPreparers (/apps/softwares/node-v0.10.28-linux-x86/lib/node_modules/protractor/lib/runner.js:91:8)
    at runner.controlFlow.execute.then.jasmineNodeOpts (/apps/softwares/node-v0.10.28-linux-x86/lib/node_modules/protractor/lib/frameworks/jasmine.js:39:12)
    at webdriver.promise.ControlFlow.runInNewFrame_ (/apps/softwares/node-v0.10.28-linux-x86/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1531:20)
    at webdriver.promise.ControlFlow.runEventLoop_ (/apps/softwares/node-v0.10.28-linux-x86/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1396:8)
==== async task ====
run test preparers
    at Object.exports.run (/apps/softwares/node-v0.10.28-linux-x86/lib/node_modules/protractor/lib/frameworks/jasmine.js:38:24)
    at driverprovider_.setupEnv.then.then.then.testResult (/apps/softwares/node-v0.10.28-linux-x86/lib/node_modules/protractor/lib/runner.js:233:28)
    at _fulfilled (/apps/softwares/node-v0.10.28-linux-x86/lib/node_modules/protractor/node_modules/q/q.js:797:54)
    at self.promiseDispatch.done (/apps/softwares/node-v0.10.28-linux-x86/lib/node_modules/protractor/node_modules/q/q.js:826:30)
    at Promise.promise.promiseDispatch (/apps/softwares/node-v0.10.28-linux-x86/lib/node_modules/protractor/node_modules/q/q.js:759:13)
    at /apps/softwares/node-v0.10.28-linux-x86/lib/node_modules/protractor/node_modules/q/q.js:525:49
    at flush (/apps/softwares/node-v0.10.28-linux-x86/lib/node_modules/protractor/node_modules/q/q.js:108:17)
    at process._tickCallback (node.js:419:13)
    at Function.Module.runMain (module.js:499:11)

我已经将'Jasmine-reporters'添加为 npm install -g jasmine-reporters

我也可以看到下面的文件夹,

/node-v0.10.28-linux-x86/lib/node_modules/jasmine-reporters

我的量角器配置如下,

出口.config = {
        seleniumAddress: 'http://172.16.136.181:4444/wd/hub',

        眼镜: [
                '../e2e/*.js',
              ],

        能力:{
            “浏览器名称”:“铬”
        },

        baseUrl:'http://gdc-java64-13:9000',

        allScriptsTimeout: 96000,

        onPrepare:函数(){

        要求('茉莉花记者');
        jasmine.getEnv().addReporter(new jasmine.JUnitXmlReporter(null, true, true, 'testresults.e2e'));

        },


          茉莉花节点选择:{
                // onComplete 将在驱动程序退出之前被调用。
                完成:空,
                // 如果为真,则显示规范名称。
                isVerbose:假,
                // 如果为真,则将颜色打印到终端。
                显示颜色:真,
                // 如果为 true,则在失败中包含堆栈跟踪。
                包括StackTrace:真,
                // 测试失败前的默认等待时间(以毫秒为单位)。
                默认超时间隔:30000
              }

};

有没有人有任何想法。

谢谢你

4

1 回答 1

2

这在我将 NODE_PATH 环境变量设置为后解决了,

导出 NODE_PATH = /apps/softwares/node-v0.10.28-linux-x86/lib/node_modules

按照这个

于 2014-06-25T04:36:20.210 回答