2017-10-08 13 views
1

ユニットテストを実行するためにmochaを使用するグルプタスクtestがあります。テストが失敗した場合にGITフックをプリコミットから返す

ユニットテストをGIT pre-commitフックの一部として実行したいとします。

だから、基本的に私のpre-commitファイルは次のようになります。

#!/bin/bash 
gulp test 

私が持っている問題は、コミットが行われ、テストが失敗した場合でも、ということです。 pre-commitファイルからテストの失敗を検出するにはどうすればよいですか?

+0

'gulp test'の結果を得る必要があります。成功した場合は、 'pre-commit'で' exit 0'を実行するか、何もしません。失敗した場合は、ゼロ以外の数値で終了します。 – ElpieKay

+0

テストが失敗した場合、gulpはゼロ以外のコードで終了しますか?そうでなければ、それはどのように失敗を返しますか? – max630

答えて

1

Bashスクリプトの終了コードは、最後に実行されたコマンドの終了コードです。 gulp testが失敗すると、 は0以外の値で終了します。 は、失敗を意味します。 となり、コミットが中止されます。

フックスクリプトが実行されますか?

  • スクリプトは、スクリプトがこれらの条件が満たされていると仮定すると、実行可能

、 期待通りに動作するはず掲載されたスクリプトでなければなりません.git/hooks/pre-commit

  • でなければなりません。 そうでない場合は、デバッグに役立つように修正し、失敗すると予想されるコミットの例を出力してください。

    #!/bin/bash 
    
    gulp test 
    
    x=$? 
    echo exit code = $x 
    exit $x 
    
  • 関連する問題