固体仕様とは何でしょうか?良い仕様とは何でしょうか?初心者のためのRspecの例
これは私がテストについて非常に抽象的であることがわかっているものです。私はモデル、コントローラー、そしてテストできる他のものについて、これに対する答えに興味があります。スペックのスペックを持っているのはクールですが、私の言うことを知っていますか?
モデル仕様べき(優先順位と関連性の順に):
- 試験すべての方法?
- テストエラーアレイ?
- CRUD(およびその方法)をテストしますか?
- 他に何か?
コントローラ/ビュー仕様べき(優先/関連性の順に):
- はブランク...
- に入力?
スペックの対象とするべきでないものをこのリストに展開することは素晴らしいことです。
私はまた、トリックと提案のリストもコンパイルしたいと思います。例:
キーワード「should」はまったく冗長です。
例:
この:
it "should be invalid without a firstname"
と良いだろう。
it "is invalid without a firstname"
さらに別のトリック、使用は読みやすくするために代わりにラムダの期待:
lambda { ... }.should be_valid
より読みやすいよう:
expect { ... }.should be_valid
私が始めるに役立つ記事のリストをコンパイルしていますし、彼らは一緒に来るように、この記事では、それらを共有することになります。ここで私は今のところ特に役立つものがいくつかあります。 (あなたのことを投稿してもらえれば助けになると思います)。
http://everydayrails.com/2012/03/19/testing-series-rspec-models-factory-girl.html http://nelvindriz.tumblr.com/post/835494714/rspec-best-practices
テストがうまく実装されているプロジェクトのリストを持っているのは素晴らしいだろう。 rspecはとても読みやすいので(少なくとも誰もが言っていることですが)、読めるようにすばらしい仕様のプロジェクトへのリンクのリストを得ることは素晴らしいことです。
"良い仕様の例については、Mongoid specsを参照してください。 - @ yfeldblum(下の回答を参照)
オンラインでは、基本的なものをテストする方法に関する非現実的なシナリオを説明する記事がたくさんありますが、それ以上にあなた自身がソートしています。私がこのトピックに関する記事を書く場合は、私のテスト(githubなど)にリンクして、それらの仕様の1つまたはいくつかに注釈を付けてください...これはrspecに関する記事を書く最善の方法のようですが、私の考えでは。私は自分でやっていますが、私はまだそこにはありません。
これを閉じるに投票した場合は、この投稿が所属すると思われる場所にコメントや提案を残すようにしてください。ありがとう!
スタック交換プログラマーがおそらくこれのためのより良い場所だと私は認めている。それが閉じられると、私はそこに移動します。 – botbot
これは素晴らしい質問です。 +1。しかし、客観的に答えることができる具体的な/具体的な質問/質問でそれを言い換えることを提案します。そうであるように、「少し開いている」ように見えます... – Brian
@Brian、あなたはそれらの質問を何か示唆しますか?あなたはそれを作成するのを助けることを歓迎しています...提案のおかげで。 – botbot