web-dev-qa-db-ja.com

TDDは共同オープンソースプロジェクトで実行可能ですか

多くの人にパッチなどを提出してほしいと期待している/期待しているオープンソースプロジェクトを開始したいとしましょう。厳密なTDDアプローチを取ることは実行可能ですか?協力者がパッチを提出するたびに品質テストを書くことを期待できますか/信頼できますか?

私が考えていることの1つは、個々のバグレポートと機能リクエスト用のテストスイートを作成し、すべてのパッチ/プルリクエストでテストに合格することを要求することですが、その時点では機能/バグ修正を記述する方が良いようです。私自身。

私の知る限り、TDD(または少なくとも書き込みテスト)を使用する主要なオープンソースプロジェクトのほとんどは、個人またはチームによって純粋に記述されているようで、TDDなどのプラクティスを簡単に実施できます。

11
DormoTheNord

一般の人がパッチを提出できるオープンソースプロジェクトにTDD(テストファースト)アプローチを適用することはできません。

あなたがcanを強制するのは、すべてのパッチに、パッチに含まれる修正のための一連のテストケースが必要であり、それらのテストケースとすべての既存のテストケースに合格する必要があるということです。これを実施するには、プロジェクトのポリシーを使用して同意することがわかっている少数の信頼できる開発者にコミット権限を与えるだけで、提出/プルリクエストはテストケースに合格した場合にのみ組み込まれると公に述べます(十分なカバレッジ)。

これは、テストがfirstであることを保証するものではありませんが、テストがwrittenであることを保証します。

コードの作業を許可される前に、テスト専用パッチを提出するように依頼することができます。これは、コード自体が書かれる前に計画された設計をレビューする追加の機会を提供します。

実際には、これはプロジェクトへの貢献に対する人々の熱意を殺す可能性があります。あるいは、あなたの方法論に同意する人々に火をつけるかもしれません。

ただし、開発者が開発を行き詰まらせないように、レビュー担当者はデザインレビューを迅速に処理することについて非常に優れている必要があります。

1
Alex Feinman