6

Clojure 1.9 の新しい clojure.spec 機能に関するスクリーンキャストやブログが登場し始めると、clojure.spec が、以前は clojure などのより「伝統的な」自動テスト ライブラリによって実行されていたリスク軽減の多くを実行できることが明らかになりました。 .test、midje、speclj、および test.check。

clojure.test の機能が本質的に clojure.spec 内で複製されるという意図はありますか? 今日、Clojure 1.9 以降で実行する新しいアプリの構築を開始する場合、上に挙げたテスト ライブラリを脇に置き、代わりに clojure.spec だけに頼って、アプリの動作に関して同様のレベルの信頼を得るでしょうか?

4

1 に答える 1

9

clojure.test の機能が本質的に clojure.spec 内で複製されるという意図はありますか?

  • いいえ、clojure.test の機能は clojure.spec では複製されません。
  • サンプルベースのテストとジェネレーティブ テストは、重複する部分はあるものの、さまざまなニーズに対応する別のツールです。

今日、Clojure 1.9 以降で実行する新しいアプリの構築を開始する場合、上に挙げたテスト ライブラリを脇に置き、代わりに clojure.spec だけに頼って、アプリの動作に関して同様のレベルの信頼を得るでしょうか?

  • 私はほとんどのプロジェクトで例ベースのテストと生成的なテストの両方を使用します (そして提案します)
  • ただし、例ベースのテスト スイートと clojure.spec を組み合わせると、例ベースのテストははるかに少なくなると思います。

すべての clojure.spec ではないのはなぜですか? (暗示)

  • 仕様が難しいものもある
  • ジェネレータを書くのが難しいものもあります
  • ファイルに入力/出力の例があると、コードを読んでいるだけの人にとっては便利です
  • ほとんどの成熟したプロジェクトでは単体テストが期待されています
  • もっと

少し本題から外れますが、clojure.spec にはプロジェクトの単体テスト ケースの数を減らすよりもはるかに多くのユーティリティがあることを親しみを込めて思い出させてくれます。

于 2016-09-24T10:18:53.913 に答える