プラグイン機構をそなえて、機能を追加しやすくするOSSがある。わかりやすいのはfluentdあたりだろうか。 で、何かのプラグインを作っており、かつ現役でしっかり使っているなら、元のプロダクト(コア)の更新時には自動で結合テストをしておくとよいという話。 プラグイン自体は単体テストをやってても、コア側に非互換の変更が入ったり、リファクタリングで機能に退行があると、結局バージョンアップ時に寝耳に水のようなエラーに会う。 結合テストを常にmasterのHEADで回しておくとコア側のアップデートを追いやすいし、もしかするとコア側でも『この変更で、既存プラグインは大丈夫だろうか(※)?』という不安が減るかもしれない。 ※ そういう心配をするとこならある程度プラグイン用のテストも用意してくれていたりするが しくみ 定期的に実行でもまあ悪くないけど、できれば細かい単位で回しておきたい。 サンプルとして