Pod::Coverageを使うと、作成したモジュールにPODが記述されていないとテストがこけるようにできます。メソッドにも当該メソッドに関するPODがないとこけます。
このテストは自然にPODを書くことが開発サイクルの習慣になるので、おおむねよいプラクティスだと考えます。 しかし、一部、ユーザにインタフェースを公開しない、内部で利用しているだけ等のPODを書きたくない(書くべきではない)メソッドがある場合、そのメソッドに関してはPODの記述を必須から外したいと思います。方法としては下記のようにします。
例で言えば、これでDESTROYとDEBUGメソッドはPODを書かなくてもテストを通るようになります(でも、コメントはちゃんと書きましょう)。
モジュールをModule::Starter で作成するとデフォルトでt/pod-coverage.tというテストが作成されます。このテストはPod::Coverageを使って開発したモジュールにてPODが書かれているかチェックしてくれますが、全メソッドに対するPODの記述を求めてしまうので、PODを書かないメソッドがあればalso_privateパラメータで適宜指定して、エラーにならないようにします。
モジュールのインストールをmake、make testで行う場合はt/pod-coverage.tはskipされてエラーにはならないのですが、Build、Build testで行う場合はエラーになりますので要注意です。モジュールを開発する際はmake test、Build testのどちらでもエラーにならないことを確認しましょう。
参考:
・Test::Pod::Coverageで関数の記述の試験を無視する方法 - サンプルコードによるPerl入門 ~ 安定と信頼のPerlを学ぼう ~
・ドキュメントをどうするのか - kuchimuraのメモ
0 件のコメント:
コメントを投稿