2017.01.11

ポイントさえ分かれば [ Bamboo x Codeception ] はもう怖くない!


こんにちは。
次世代システム研究室のDLです。
今回はCodeceptionをBambooに組み込んだ内容の共有です!

モチベーション


Codeceptionを利用してテスト自動化を行っているところで
利用しているBambooのTaskタイプでCodeceptionがなく困っていました。。。が
BambooのTaskタイプでCodeceptionがなくても導入できます!

まず、読む前に


この記事の対象者
・BambooのTaskタイプでCodeceptionがなくて困っている方
・Codeceptionを利用しようとしている方
・Bambooを利用している方

この記事で書かれてない内容
・Codeceptionのインストール
・Codeceptionの書き方
・Bambooのglobal variables設定方法

Bambooとは?BambooのHPへ
・Atlassian社が提供している継続的インテグレーションとデプロイメントのツールです!

Codeceptionとは?CodeceptionのHPへ
・PHPの強力なテストフレームワークです!

これからスタートです!

Bambooでbuild時にCodeceptionを動かす流れ


1.テストを実行(Codeception)してテスト結果を保存

bamboo_set
Q. 何でテスト結果をxmlで出しているのか
A. テスト結果をbuildに認識させないといけないため「JUnit Parser」を利用しているからです。

Codeceptionではjsonやhtmlでもテスト結果の出力ができます!
generate-all

2.Codeception結果をParsingするロジックをJUnitParserでparsingする

bamboo_junit

組み込みのポイント


ポイント1. Codeceptionのreportはxmlで!

generate-xml

ポイント2. JUnit Parser!

>xmlになっている結果をJUnit ParserでBuildの方にテスト項目・結果を認識させましょう!


結論


Codeceptionのreportはxmlで!そのxmlのParsingはJUnit Parserで!
ポイントさえ分かれば [ Bamboo x Codeception ] はもう怖くない!
BambooのTaskタイプでCodeceptionがなくても簡単に導入できます!
(Bamboo の知識あり状態で、、)

下記は参考用のリンクです。
Codeceptionの導入事例
Bamboo JUnit Parser
Bamboo Pattern matching reference
Bamboo variables
Bamboo Defining global variables
Codeception Console Commands
 

最後に。。


次世代システム研究室では、
グループ全体のインテグレーションを支援してくれるアーキテクトを募集しています。
インフラ設計、構築経験者の方、次世代システム研究室にご興味を持って頂ける方がいらっしゃいましたら、ぜひ 募集職種一覧 からご応募をお願いします。

皆さんのご応募をお待ちしています。