2012-11-10 1 views
5

私は最近学んだRspec + Capybara(私はものをテストすることです)。私が作成したいくつかの新しいモデルをテストしています。今、私はPostモデルにtitleの列を追加することを考えていました。それは難しい作業ではありません。以前は何度もやっていました。しかし、仕様ファイル(ポスト、ポストページ、ユーザー、ユーザーページ、工場、sample_dataなど)を更新する作業が必要になることに気付きました。絶対にすべてをテストするのは良い方法ですか、それとも時間の無駄です(Rails)?

この場合のテストは、時間の無駄ですか?それとも、絶対にすべてをテストするのがよい方法ですか?

宝石のテストでも時間が無駄だと思いますか?彼らはすでにクリエイターによってテストされているでしょう(信頼できるチュートリアルから何かをテストする場合も同じです)。

答えて

4

ルビーコミュニティはテストに焦点を当てていますが、最も費用対効果の高い決定が何であるかを把握するために、あらゆるケースをコンテキストで分析する必要があります。

リスクを管理する手法としてテストを考えることは有益です。タイトルを表示したりデータベースに追加したりするのは、エラーが起こりやすい、実行が複雑な、またはそれらのテストを追加するコストが、最終的に何かを壊すリスクよりも高いと思っていない場合は、賢明ではない。

あなたはあなたがテストの初心者だと言って以来、絶対にすべてをテストするという極端な考え方をとってみることをお勧めします(時間制限がない場合はもちろんです)。どのくらいの価値が付加されているか、時間の無駄であるかという考えがあります。

あなたは、彼はそのことについて話すのRailsの生みの親、DHHからこのブログの記事を見てすることがあります:テスト宝石についてTesting like the TSA

を、それは彼らがすべきではないことが一般的に広く受け入れられていますアプリケーションテストではなく、作成者によってテストされます。ほとんどの場合、彼らは彼らが約束した方法で作業すると単純に仮定することができます。

+0

ありがとうございました。私はいつもそれについて疑問を抱いていた。なぜRubyコミュニティがテスト(またはRailsコミュニティ)に重点を置いているのですか? – alexchenco

+0

@alexchenco私は具体的な答えはありませんが、言語には既にテストフレームワークが組み込まれています( 'test/unit')ので、コミュニティの多くはアジャイル/ XPの動きに根ざしています。 –

+0

私は参照してください。ええ、私はパイソンコミュニティの話を聞いたことがないようなテストです。 – alexchenco

1

テストの主な概念の1つは、「すべてをテストすることは不可能です」

関連する問題