web-dev-qa-db-ja.com

Travis CIを使用したUNIXシェルスクリプトでのテスト

背景:

私はPHPプロジェクトでTravis CIを使用しており、プロジェクトの現在のビルドのステータスを示す画像へのリンクを提供する方法がとても気に入っています。

現在、UNIXシェルスクリプトを使用して多くのツールを作成していますが、Travis CIを使用してUNIXスクリプトをテストしたいと考えています。

これを達成する方法を見つけるためにインターネットを検索しました。私はメインのWebサイトにアクセスし、Stackoverflowを検索し、Googleで少し検索しました。

これは不可能のようです。

現在、シェルスクリプトと関数をテストするためにshunit2を使用しています。

私の質問は次のとおりです:

  1. Travis CIを使用してシェルスクリプトをテストすることはできますか?
  2. そうでない場合、GitHubにプラグインを使用できる代替手段はありますか?
  3. シェルスクリプトで統合テストを実行する最良の方法は何ですか?
34
Dodzi Dzakuma

もちろんです。

ここで簡単なテストを行いました: https://travis-ci.org/soulseekah/test-shunit2-travis

ぼくの .travis.ymlファイルは:

language: bash

before_script:
    - curl -L "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/shunit2/shunit2-2.1.6.tgz" | tar zx

script:
    - bash equality_test.sh

リポジトリ: https://github.com/soulseekah/test-shunit2-travis

42
soulseekah

すべてをMakefileに入れてから、make test...を呼び出しました。

language: bash
script: make test

私は assert.sh を使用しているため、before_scriptは必要ありませんでした。 https://github.com/wmluke/dokku-domains-plugin で確認できます。

11
wmluke

ShUnit2の最新バージョンが必要な場合は、masterブランチから入手する必要がある場合があります。

私はそれをこのように機能させました:

---
language: bash
before_script: "Sudo curl -o /usr/local/bin/shunit2 https://raw.githubusercontent.com/kward/shunit2/master/shunit2"
script: "bash shunit2/test_example.sh"

私の例のshunit2 repo here も参照してください。

2
Alex Harvey