1

ワークスペースに Android プロジェクトMyAndroidProjectとテスト プロジェクトディレクトリがあるとすると、テストを実行し、テストが失敗した場合にコード変更のコミットを拒否するMyAndroidProjectTestspre-commit git フックを作成するにはどうすればよいでしょうか?MyAndroidProjectTests

端末でテストを実行すると、通常、次のような出力が得られます。

com.mydomain.tests.Models.MyProjectTests:.......
Test results for InstrumentationTestRunner=.......
Time: 0.05

OK (10 tests)

私が確信していないのは、最後の行の出力を解析する以外に、テストが成功したか失敗したかを判断するために何を使用するかということです (たとえばOK、またはFAILED、その方法があまり好きかどうかわかりません。理想的には'端末でテストを実行するために使用するコマンドからステータスが返されるようにしたい:

adb shell am instrument -w com.mydomain.tests/android.test.InstrumentationTestRunner

.git/hooks/プレコミットフックとしてフォルダーに配置できるシェルスクリプトで応答を使用したいと思います。

情報や他のリソースへのリンクをいただければ幸いです。今後ともよろしくお願いいたします。

4

1 に答える 1

2

git フックはプロジェクト/リポジトリ ルートから実行されるため、コマンドを precommit フックで直接使用できるはずです。

#!/bin/bash
adb shell am instrument -w com.mydomain.tests/android.test.InstrumentationTestRunner

adb失敗時にゼロ以外の存在コードを返す場合- コミットは中止されます。

別の目的で終了コードを取得する必要がある場合は、その方法を正確に示す別の質問があります。

于 2012-04-19T18:17:20.733 に答える