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