6

Scalatestでは、SpecとWordSpecを使用することの長所と短所について少しわかりません。javadocはWordSpecとFlatSpecのある程度の比較を提供していると思いますが、SpecとWordSpecのどちらかはわかりません。

どちらの構文にも慣れている場合、どちらが「ベストプラクティス」と見なされますか?

WordSpecはSpecの進化形ですか(BDDがTDDの進化形であるという概念に同意する場合)?またはその逆?その点で彼らが完全に同等の仲間である場合、なぜ私は一方を他方よりも選ぶのでしょうか?

おそらくこれは「宗教的な質問」ですが、たとえそれがそれぞれの側にあるとしても、少なくとも彼らが指摘したいいくつかの長所と短所がなければなりません。私はそれらの議論を聞くことに非常に興味があります。

これがFAQの場合は、事前にお詫び申し上げます。この比較では、検索結果に何も見つかりませんでした。

4

1 に答える 1

15

Specには、Suiteで取得するデフォルトの変換以外に暗黙の変換はありません。これにより、すべてに===が適用されます。WordSpecには、文字列の後に単語を配置するための暗黙的な変換がいくつかあるため、暗黙的な変換の競合のリスクがわずかに高くなります。

仕様では、無期限のネストが可能です。WordSpecは3レベルのネストのみを提供します。

Specを使用すると、仕様のテキストをどのように構成するかについてより自由になります(ただし、FreeSpecほど自由ではありません)。WordSpecは、テキストをどのように構成するかについて非常に規範的です。

WordSpecはSpecよりもDSLishです。一部の人々はそれを好みます。

好みがない場合は、デフォルトの選択肢としてSpecを指定します。これは、デフォルトで暗黙が少なく、自由度が高く、DSLが少なく、ネストが多いためですが、主にこの選択は好みの問題です。

于 2011-12-16T17:11:37.267 に答える