Angular-Jasmine-KarmaスタックをJenkinsに接続する方法を理解するのを手伝ってください。 Karma(néTestacular)とJasmineでテストするAngular.jsWebアプリがあります。 Angular Tutorial のように見えます。 Jenkins継続的インテグレーションを使用してテストしたいと思います。
これまでのところ、チュートリアルに従ってAngular、Jasmine、Karmaをインストールしました。 Jenkinsをインストールしました。それぞれを独立して動作させることができます。私が見たところ、KarmaはJenkinsが取り込んだXMLファイルを出力する必要があるように見えますが、Karmaは一貫してファイルを出力しておらず、これを概念的に理解していません。ジェンキンスはどの時点でカルマと呼んでいますか?
良い答えは、ジェンキンスでカルマテストを行うために必要な部分を概説するでしょう。
念のため、これが私のKarma設定です。デバッグの名の下に削除されました。
module.exports = function(config){
config.set({
basePath : '../',
files : [
'app/lib/angular/angular.js',
'app/lib/angular/angular-*.js',
'app/js/**/*.js',
'test/unit/**/*.js'
],
exclude : [
'app/lib/angular/angular-loader.js',
'app/lib/angular/*.min.js',
'app/lib/angular/angular-scenario.js'
],
autoWatch : true,
frameworks: ['jasmine'],
browsers : ['Chrome'],
plugins : [
'karma-chrome-launcher',
'karma-firefox-launcher',
'karma-script-launcher',
'karma-jasmine'
],
reporters : ['dots', 'junit', 'coverage'],
junitReporter : {
outputFile: 'test_out/unit.xml',
suite: 'unit'
}
coverageReporter : {
type: 'cobertura',
dir: 'coverage/',
file: 'coverage.xml'
}
});
};
まず、以下をリストしたkarma.conf.js
ファイルが必要です。
reporters: ['progress', 'coverage', 'dots', 'junit'],
junitReporter: {
outputDir: 'karma-results',
outputFile: 'karma-results.xml'
},
browsers: ['PhantomJS'],
singleRun: true
reporters
キーの下にある最も重要な項目は、junit
です。これは、Karma出力をXMLファイルに変換するアドオンです。 Jenkinsがテスト出力を解析するには、テスト出力が特定のXML形式である必要があります。このXMLファイルの出力場所は、junitReporter
キーを使用して構成します。 browsers
キーで、PhantomJS
を指定していることを確認してください。これは、JenkinsサーバーにChromeまたはFirefoxのインスタンスがない可能性が高いためです。singleRun
キーは、テスト前にKarmaサーバーが起動されることを確認しますテストが終了すると実行され、シャットダウンされます。
次に、次のコマンドを実行して、次のすべてのノードモジュールがサーバーにインストールされていることを確認します。
npm install -g karma-cli
npm install -g karma --save-dev
npm install -g phantomjs
npm install -g karma-jasmine --save-dev
npm install -g karma-phantomjs-launcher --save-dev
npm install -g karma-coverage
ブラウザからJenkinsサーバーにアクセスします。 Jenkinsサーバーには次のURLでアクセスできます。
http://server-ip-address:8080
先に進む前に、「EnvironmentInjectorプラグイン」と「Junitプラグイン」がインストールされていることを確認してください。それが表示されたら、Jenkinsホームページの左側にあるNew Item
をクリックします。ジョブに次のパラメータを設定します。
「プロパティコンテンツ」を使用すると、サーバーでJenkinsにPATHを割り当てることができ、その下の「コマンド」セクションでkarma
キーワードを使用できます。 「コマンド」セクションは、karma.conf.js
ファイルが存在するフォルダーにcdしてKarmaを起動するようにJenkinsに指示します。
上記のkarma.conf.js
の例でoutputDir
とoutputFile
の値を使用する場合は、「テストレポートXML」の入力値を保持できます。それ以外の場合は、XML結果ファイルが生成される場所への新しいパスを反映するように変更します。
これで、Jenkinsでこのジョブを実行するたびに、合格したかどうかと、テストの結果である広告申込情報を確認できます。
ビルドツールとしてMavenを使用していますか?もしそうなら、見てください: https://github.com/eirslett/frontend-maven-plugin 。テストを実行するため、Jenkinsは結果を表示できます。