Python doctestsは簡単なテストをソースコードと関連付けます(Pythonでは関数ドキュメントにあります)。 More info and examples here。Python doctestに相当するClojure?
Clojureには何か類似点はありますか?
clojure.test
で単体テストを認識していますが、ソースとより密接に統合されたものを探しています(通常、単体テストは別のファイルにあります;ここで私はdefn
の内部にテストしたいと思っています)。
私はthisを見つけましたが、テストは実際にはPythonのような実際のテキストです(確かにdefn
を拡張するマクロが望ましいでしょうか?)。
おそらく、一般的な問題を解決するための他の方法があります。これは、ドキュメント(私はmarginaliaを使用しています)に含まれるいくつかのテスト(関数の基本的なプロパティを示す単純なもの)別々の単体テストファイルよりも。
更新ここに例があります:ピクセルの矩形からイメージの中心までの(マンハッタン)距離(ピクセル単位)を計算する関数があります。これは簡単なことですが、側面に奇数または偶数のピクセルがある画像、またはブロックのどの部分を測定するかの違いのようなもので複雑になります。だからコードを真っ直ぐにするためにいくつかのテストを書く必要があった。そして今、私はドキュメントを見て、ドキュメントがそれらのテストを含んでいれば実際には機能が何をしているかを言葉よりもよく説明するので、最高のものになるでしょう...
は完璧に見えます!存在していなかった。しかし、どうやってそれを動かすのですか? leinテストはそれを呼び出しますか? –
テスト機能を使用する:(test# 'mymax)、doc:http://clojuredocs.org/clojure_core/clojure.core/test –