Python doctestsは、単純なテストをソースコードに関連付けます(Pythonでは、関数のドキュメントにあります)。 詳細と例はこちら。
Clojureに似たものはありますか?
私はを使用した単体テストを知ってclojure.test
いますが、ソースとより緊密に統合されたものを探しています(通常、単体テストは異なるファイルにあります。ここでは、テストを「内部」に配置したいと思いますdefn
)。
周りを検索すると、これが見つかりましたが、非常にわかりにくいようです(テストは、Pythonのように実際のテキストで行われます。確かに、拡張するマクロdefn
が望ましいでしょうか?)。
または、一般的な問題を解決する他の方法があります。それは、別のユニットよりもドキュメント(傍注を使用)に含めるほうがよいテスト(通常、関数の基本的なプロパティを示す単純なもの)があることです。テストファイル。
更新 例を次に示します。ピクセルの長方形から画像の中心までの(マンハッタン)距離(ピクセル単位)を計算する関数があります。それは単純に聞こえますが、辺に奇数または偶数のピクセルがある画像の「中心」の意味の違いや、ブロックのどの部分から測定するかなどによって複雑になります。そのため、コードをまっすぐにするためだけにいくつかのテストを作成する必要がありました。そして今、私はドキュメントを見て、実際には、関数が何をするかを言葉よりもよく説明しているので、ドキュメントにそれらのテストが含まれているとよいでしょう...