2017-07-13 5 views
1

PHPのsymfonyコードでコードカバレッジとコードスニファレポートを分析するにはどうすればよいですか?私は使用すべきコマンドとツールは何ですか?symfonyのPHPコードカバレッジとコードスニファを確認するフックをコミットする

は、今のところ、私はクローバー形式でPHPUnitのを使用してコードカバレッジレポートを生成できます。

#!/bin/bash 

echo "##################################################################################################" 
echo "Starting PHPUnit tests : "`date "+%y-%m-%d %H-%M-%S"` 
echo "##################################################################################################" 

php app/console -e=dev doctrine:database:drop --force 
php app/console -e=dev doctrine:database:create 
php app/console -e=dev doctrine:schema:create 
php app/console -e=dev -n doctrine:fixtures:load 
#phpunit -c app --coverage-html build/html 
phpunit -c app --log-junit build/unit.xml 
'[' -f build/coverage.xml ']' 
phpunit -c app --coverage-clover build/coverage.xml 
php app/console -e=dev doctrine:schema:drop --force 
php app/console -e=dev doctrine:database:drop --force 
echo "Finishing Cron at "`date "+%y-%m-%d %H-%M-%S"` 
echo "Cron Task Complete" 
echo "##################################################################################################" 

答えて

2

あなたのbashスクリプトが期待通りに動作する場合、あなたはそれにpre-commitに名前を付け、あなたのgitのフックでそれを配置する必要があります:/path/to/repo/.git/hooks。このディレクトリにいくつかのサンプルがあります。 Gitのフックについての詳細は

https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks

次に、あなたのコードスニファのために、私はhttps://github.com/squizlabs/PHP_CodeSnifferをお勧めします。

また、あなたのためにすべてを行うhttps://github.com/phpro/grumphpもあります。

+0

私は今grumphpを見ています。 – aniruddha

1

grumphpをクライアントサイドのgitフックで簡単に実行できるようにする必要はありません。以下の例では、php-cs-fixerを実行し、git push origin .....を実行すると、破損したコードをgithubリポジトリにプッシュするのを防ぎます。

your_project_folder/.git /フック/プレプッシュ

#!/bin/sh 

if [ -f ./bin/php-cs-fixer ] 
then 
    ./bin/php-cs-fixer fix --dry-run --verbose --diff src 
    if [ $? -ne 0 ] 
    then 
     printf "\n\t\033[1;31m[PHP-CS-Fixer] Push Aborted\n\n\033[0m" 

     return 1 
    fi 
fi 

付与権限

chmod +x .git/hooks/pre-push 

テスト

git push origin ..... 

example hereを参照してください。

関連する問題