0

Jenkins 経由で Mocha + WebDriverIO を実行する小さなテスト フレームワークを構築しています。何らかの理由で、相対パスが期待どおりに表示されません。その結果、fs.js はエラーをスローしています。

エラー:

エラー: ENOENT、そのようなファイルまたはディレクトリはありません 'C:\workspaces\nodejstest\jenkins\JENKINS_HOME\jobs\browse_test\workspace\login.js'

パスは 'C:\workspaces\nodejstest\login.js' (実行されたスクリプトの絶対的な場所) である必要があります。エラー状態のJenkinsワークスペースディレクトリではなく、同じディレクトリからスクリプトを実行しているにもかかわらず、ディレクトリパスが間違っている理由について、誰でも洞察を持っています。cli から実行すると、正常に動作します。変。

テスト スクリプト (run_test.js):

var common      = require('./common/common.js'), // INCLUDES FS LIBRARY
    scriptList  = ['login', 'browse_price_ascending'];

// ITERATE THROUGH SCRIPT NAMES AND EXECUTE
for(var currentScript in scriptList){

    // BUILD SCRIPT PATH
    var scriptPath = './' + scriptList[currentScript] + '.js';

    // EVAL IS NOT ALWAYS EVIL ;)
    eval(common.fs.readFile(scriptPath) + '');

}

Jenkins を起動します (run.sh):

#!/bin/bash
export JENKINS_HOME=./jenkins/JENKINS_HOME
java -jar ./jenkins/jenkins.war

ジェンキンスの仕事:

mocha $JENKINS_HOME/../../run_test.js --brand=IBSD --country=UK --env=PROD
4

1 に答える 1