2016-08-10 14 views
8

To jest trochę drapaka głowy.Uruchamianie testów kątomierza z Jenkin rzuca "Test" title "powinno być" ciągiem ", ale zamiast tego podano" funkcję "." "

Jeśli uruchomić nasze testy kątomierz e2e z pracy Jenkins nie powiedzie się z:

[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 

Ale gdybym ssh do maszyny, jako użytkownik Jenkins, z tą samą wersją Node (5.0.0) i npm (3.3.6), z tymi samymi poleceniami, testy przebiegają bez zarzutu. To jest miejsce, w którym rzuca się w mokkę: https://github.com/mochajs/mocha/blob/master/lib/test.js#L24, ale nie mogę się domyślić, dlaczego byłby "nie ciągiem", gdy Jenkins przeprowadzi test, ale będzie dobrze, gdy ssh. Sprawdziłem również nasz plik presetInteractions.scenario.js, ale jest nie inaczej niż którykolwiek z naszych innych plików kątomierz i tam na pewno nic dziwnego linii 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) { 
     ... 
+0

jakiego polecenia używasz do uruchamiania testu w jenkins vs ręcznie jako użytkownik jenkins? – nilesh

+0

Dokładnie te same ... . ./go.sh; aktualizacja webdriver-manager; odbudować; rebuild_database; restart_core; test_end_to_end; –

Odpowiedz

2

Tak, oczywiście, okazuje się, że to wersja niedopasowanie. Sprawdziliśmy wersje NPM, węzła i kątomierza, ale wersje Mocha, które były używane, były rzeczywiście różne (2.4.5 vs. 3.0.2). Powrót do wersji 2.4.5 eliminuje ten problem.