8
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

コマンドライン実行機能が実装される「T-DASH」を使って、CI/CD連携をしてみよう!

【失敗】T-DASHで出力されたxUnitファイルの中身をGitLabのパイプラインで表示したかった

Last updated at Posted at 2023-06-21

前回の振り返り

T-DASHのCLI版を用いてCI/CDを行う事は出来ました。ただし、テスト結果が失敗した場合もSuccessになってしまっています。
そこで、T-DASHで出力されているxUnitファイルを読み込むことでテスト結果を確認できるようにしたいと思います。

xUnitとは

xUnitとは、コンピュータプログラムの単体テスト(ユニットテスト)を行うためのテスティングフレームワークの総称である。これらのフレームワークでは、関数やクラスなど、ソフトウェアの様々な要素(ユニット)をテストすることができる。 Wikipediaより引用

reportsフォルダにあるxunit_output-YYYYMMDD-HHMMSS.xmlが該当します。
image.png

中身はこちら。テスト中に失敗したものから、そもそもシステムエラーになったものまで混ざっています。
image.png

gitlab-ci.ymlを修正して実行

artifacts:reports:junitでxmlファイルのパスを指定してパイプラインを実行しています。
GitLabの公式によるとjUnitのレポートを表示できるようにするための設定ですが、jUnitはxUnitの一部だと言うWikipediaの内容を信じていきます。
上手くいけばこのxmlの中身がGitLab上で見れるようになるはず・・・
image.png

artifactsのuploadにてAPIを投げる際にエラーが発生して失敗してしまいました。
image.png

可能性

  • あくまでjunitなので、xUnitのxmlであってもjUnitで実行したテストのXMLではないとみなされて読み込めない
    ⇒GitLabのサンプルではjUnit以外でもxUnitのフレームワークであればよさそうだったので違いそう
  • サイズの問題
    ⇒サイズが大きいとこのエラーが出るという記事があったが、7KBなので今回は違いそう
  • GitLabのバージョンの問題
    ⇒GitLabのバージョン、GitLab-runnerのバージョンともに要件を満たしていたため違いそう
  • Windows上でrunner動かしているのがよくない(GitLabはLinux、runnerはWindowsという異なる環境)
  • 使っているGitLabの環境がPaaSなので、一部のAPIの利用が防がれている

xUnitやjUnitを使ったことが無いため、そもそもやっていることがイチから間違っているかもしれません。
何か進展があったら追記しようと思います。

追記1:jUnitでなければいけない可能性とバージョンによる違いの可能性について調査

8
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?