静的テストの実施
Foodcritic
http://acrmp.github.io/foodcritic/
Chef 専用の静的テストツールで、ChefDK に含まれています。
Cookbook のディレクトリに対してコマンドを実行すると、Foorcritic のルールに違反したコードが検出されます。
コード ブロック |
---|
$ foodcritic ./ |
検出結果にはどのルールに違反しているかがわかるように、ルールの番号が付加されています。
Foodcritic の公式サイトには各ルールの詳細な情報と、修正例が記載されていますので、参考にしてください。
Ruby の静的テストツールを利用
Recipe は Ruby で記述されるので、Ruby の汎用的な静的テストツールを適用することもできます。
たとえば、以下のツールを利用できます。
Reek
https://github.com/troessner/reek
複雑な Ruby コードを検出する静的テストツールです。
実行方法は Foodcritic と同じです。
コード ブロック |
---|
$ reek ./ |
Flay
http://ruby.sadi.st/Flay.html
Ruby の重複コードを検出する静的テストツールです。
これも、実行方法は同じです。
コード ブロック |
---|
$ flay ./ |
これらの静的テストツールは開発環境にすでにインストールされていますので、実際に実行して試してみてください。
ヒント | ||
---|---|---|
ChefDK の gem にパッケージをインストールする方法
chef gem でインストールしたコマンドの実行方法
|