web-dev-qa-db-ja.com

テストと仕様の違いは何ですか?

私は MiniTest を試してみることにし、「仕様」と呼ばれるものをサポートしていることにすぐに気づきました。私はこれらを見たことがあります 以前に参照 ですが、それはファクトリに関連付けられた代替のテスト構文であると思っていましたが、その場合は、MiniTestが両方をサポートする必要があるのはなぜですか?

Ruby on Railsを教えられたときのみテストをカバーしたので、仕様については何も知りません。Googleの仕様では、優れたものを書く方法について多くのことを見つけましたが、何もありませんそれらの説明。テストと仕様の違いは何ですか?

33
Oblivious Sage

テストと仕様の比較いくつかの良い読み取りがポップアップします:

私の意見では、仕様はミニテストなどと比較すると、より「自然」であり、コードの機能の真の仕様のように感じられます。

RspecはDSLの良い例であり、技術的な傾向があまりない人でも、読むときに意味のあるテストを書くために特別に書かれています。

ただし、最終的には、より快適に感じるものを使用してください。テストフレームワークを使用することに不快感を覚えるので、書かれたテストはほとんどの場合、テストが書かれていないより優れています

edit

あなたの質問をもう一度読んだ後、あなたは具体的にミニテスト仕様について尋ねるようです。これは、ミニテストにrspecのような構文を追加するミニテストへの追加です。上記のすべてが引き続き適用されます。

14
Sascha Kaestle

仕様は、仕様の略で、動作主導型のテストに由来し、ソフトウェアが「何をするか」を定義するという考え方を奨励します。

これをテストと呼ぶことは、コードについてのより一般的な考え方につながり、同様に(実装の代わりに)インターフェイスをテストするべきだという考えを補強するものではありません。

そうは言っても、それらの記述方法や呼び出し方に関係なく、ポイントは、コードの正当性を自動的に検証する方法を備え、自信を持って続行できるようにすることです。

28
SciPhi