2012-01-13 18 views
17

私はMiniTestを使ってTDD/BDDを学んできました。私が理解しようとしているのは、自分のコードのどの部分をMiniTest :: Unit :: TestCaseでテストするべきか、どの部分をMiniTest :: Specを使ってテストすべきかです。MiniTest :: Unit :: TestCaseとMiniTest :: Specはいつ使用しますか?

単体テストと統合テストの違いを理解していますが、Web全体の例からわかるように、TestCaseとSpecが両方ともユニットテストであるか、TestCaseがユニットに使用されているかどうかはわかりませんテストとインテグレーションテストに使用されるSpec?

MiniTest :: Unit :: TestCaseクラスでの素早い単体テストと、より頻繁に機能を記述する、より長い統合テストを、MiniTest :: Specの期待値のままにしておく必要がありますか?それは問題でも、それとも個人的な好みの質問ですか?

答えて

4

MiniTest::Specに対してMiniTest::Unitassertions)を使用するかどうかは、私がそれらを誰に書いているのかによって決まります。

コードについては、「お客様」の要件がなくても自分自身を書くために、私はMiniTest :: Unitを使用します。テストは私にとって理にかなっており、それを読むことは簡潔であり、ポイントまでです。

要件のリストを持つ顧客のコードを書く場合は、MiniTest :: Specを使用します。スペックファイルは、非プログラマにとってより読みやすい。


注:MiniTestはモジュール名の一部を変更したが考え方は同じであるので、昨年オーバーホールを受け、MiniTestは、ユニットテストを書くのがより簡潔な、またはそれ以上の詳細な、方法をサポートしています。

+0

これは基本的に同じことをする2つの異なる方法ですか?構文上の違いは...? – Mohamad

+0

かなり。単体テストを書くためのいくつかの異なる "言語"があり、それらは同じことを言うさまざまな方法に沸き起こる。彼らはさまざまな種類の人々を対象に、冗長の異なるレイヤーを追加します。開発者は、アサーションを持つ一般的な単体テストの簡潔さが気に入る傾向があります。 "プログラミングを話していない"プロジェクトマネージャや顧客にとっては、Specがうまく機能するか、より一般的な言葉で同じことを言うものを使用します。 –

関連する問題