[解決済み] シェルスクリプトのユニットテスト
質問
私が長年にわたって取り組んできたほとんどすべての製品は、あるレベルのシェル スクリプト (または Windows のバッチ ファイル、PowerShell など) を含んでいました。 コードの大部分を Java または C++ で書いたとしても、シェル スクリプトで行った方が良い統合またはインストール タスクが常にあるように思えました。
したがって、シェル スクリプトは出荷されたコードの一部となり、コンパイルされたコードと同様にテストされる必要があります。 誰か、次のようなシェル スクリプト ユニット テスト フレームワークの経験をお持ちですか。 shunit2 ? 私は今のところ主に Linux シェル スクリプトに興味があります。テスト ハーネスが他の xUnit フレームワークの機能と使いやすさをどれだけ重複しているか、そして CruiseControl や Hudson などの継続的ビルド システムとどれだけ簡単に統合できるかを知りたいと考えています。
どのように解決するのですか?
2019-03-01に更新しました。私の好みは バット になりました。小さなプロジェクトで数年間使っています。きれいで簡潔な構文が好きです。CI/CDフレームワークと統合したことはありませんが、その終了ステータスはスイートの全体的な成功/失敗を反映しており、以下に述べるようにshunit2よりも優れています。
前回の回答
私が使っているのは シャニット2 をLinux環境でのJava/RubyのWebアプリケーションに関連するシェルスクリプトに使っています。 使いやすく、他の xUnit フレームワークと大きく異なる点はありません。
CruiseControlやHudson/Jenkinsとの統合は試していませんが、他の手段で継続的インテグレーションを実装する際に、これらの問題に遭遇しています。
- 終了ステータス。テストスイートが失敗したとき、shunit2 は失敗を伝えるために非ゼロの終了ステータスを使用しません。 そのため、テストスイートの合否を判断するために shunit2 の出力を解析するか、継続的インテグレーションフレームワークが期待するように、合否を exit status で伝えるように shunit2 を変更しなければなりません。
- XML ログ: shunit2 は JUnit スタイルの XML ログを生成しません。
関連
-
Linux MintのデスクトップでNoteをイタリックにすることは可能ですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] シェルで、「2>&1」はどういう意味ですか?
-
[解決済み] すべてのディレクトリとサブディレクトリを再帰的にgrepするにはどうしたらいいですか?
-
[解決済み] LinuxのシェルスクリプトでYes/No/Cancelの入力を促すにはどうしたらいいですか?
-
[解決済み] Bashシェルスクリプトの入力引数の存在確認
-
[解決済み] シェルスクリプトでブール変数を宣言して使用するにはどうすればよいですか?
-
[解決済み] Rubyからシェルコマンドを呼び出す方法
-
[解決済み] シェルスクリプトで部分文字列を別の文字列に置き換える
-
[解決済み] 特定のファイル/フォルダを除外してディレクトリをtarするシェルコマンド
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Manjaro linuxでマウスの速度を設定する方法は?Manjaroのマウスのカーソル速度を設定する方法に関するヒント
-
中国版「浮世」を含むUbuntu 20.04.2リリース
-
deepin20を使って、ドローイングボードで画像を開くには?deepinのお絵かき掲示板で画像を開く2つの方法
-
deepin20のデフォルトブラウザを設定するには?deepinにデフォルトブラウザを追加するためのヒント
-
[解決済み] mkdirのオプションが明確でない
-
[解決済み] 標準エラー出力を /dev/null にリダイレクトする。
-
[解決済み] 複数のPDFファイルを1つのPDFに結合/変換する【終了】。
-
[解決済み] ls を使用してディレクトリとその合計サイズを一覧表示する
-
[解決済み] Linuxのディレクトリ内のファイルを再帰的にカウントする
-
[解決済み] Bashスクリプトのユニットテスト