DTI*_*att 8 continuous-integration mocha.js node.js jenkins protractor
所以这有点令人头疼.
如果我从Jenkins作业运行我们的Protractor e2e测试,它会失败:
[10:23:53] I/local - Starting selenium standalone server...
[10:23:53] I/launcher - Running 1 instances of WebDriver
[10:23:54] I/local - Selenium standalone server started at http://10.0.0.5:43412/wd/hub
[10:23:56] E/launcher - Error: Error: Test `title` should be a "string" but "function" was given instead.
at new Test (/var/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node_5.0.0/lib/node_modules/mocha/lib/test.js:24:11)
at context.it.context.specify (/var/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node_5.0.0/lib/node_modules/mocha/lib/interfaces/bdd.js:84:18)
at /var/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node_5.0.0/lib/node_modules/protractor/node_modules/selenium-webdriver/testing/index.js:95:14
at context.xit.context.xspecify.context.it.skip (/var/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node_5.0.0/lib/node_modules/mocha/lib/interfaces/bdd.js:103:15)
at Function.skip (/var/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node_5.0.0/lib/node_modules/protractor/node_modules/selenium-webdriver/testing/index.js:98:14)
at Suite.<anonymous> (/var/jenkins/workspace/vw3-predevelop-linux/src/Ui/dev/test/endToEnd/presetInteractions.scenario.js:87:8)
at Object.create (/var/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node_5.0.0/lib/node_modules/mocha/lib/interfaces/common.js:114:19)
at context.describe.context.context (/var/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node_5.0.0/lib/node_modules/mocha/lib/interfaces/bdd.js:42:27)
at Object.<anonymous> (/var/jenkins/workspace/develop-linux/src/Ui/dev/test/endToEnd/presetInteractions.scenario.js:8:1)
at Module._compile (module.js:425:26)
[10:23:56] E/launcher - Process exited with error code 100
Run Code Online (Sandbox Code Playgroud)
但是,如果我作为Jenkins用户使用相同版本的Node(5.0.0)和npm(3.3.6)使用相同的命令ssh到机器,测试运行正常.这是它投入摩卡的地方:https://github.com/mochajs/mocha/blob/master/lib/test.js#L24但我无法弄清楚为什么当Jenkins时它不是"字符串"运行测试,但是当我进入ssh时就可以了.我还检查了我们的presetInteractions.scenario.js
文件,但它与我们的任何其他量角器文件没有什么不同,对于第8行肯定没什么奇怪的...
var Utils = require('./utils');
var chai = require('chai');
var chaiAsPromised = require('chai-as-promised');
chai.use(chaiAsPromised);
var expect = chai.expect;
describe('Preset interaction features', function() {
before(function(done) {
...
Run Code Online (Sandbox Code Playgroud)
所以,当然,结果是版本不匹配。我们检查了 NPM、Node 和 Protractor 的版本,但所使用的 Mocha 版本确实不同(2.4.5 与 3.0.2)。回滚到 2.4.5 可以消除此问题。
归档时间: |
|
查看次数: |
552 次 |
最近记录: |