0

別の質問方法: reST で doctest を書いた場合、それを Sphinx やその他の自動ドキュメンテーションに使用できますか?

背景: 私は Sphinx の使い方を知らず、reST の経験もあまりないので、Sphinx 以外の便利な場所で reST で書かれた doctests を使用できるかどうか疑問に思っています。

4

2 に答える 2

2

再構成されたテキストで doctest を書くのはなぜですか?

テストを「再構築されたテキストで」実際に書くわけではありません。インタラクティブな例はテスト ケースであり、周囲のマークアップがどのように見えるかは問題ではありません。それは reST かもしれませんし、Markdown や LaTeX のようなものかもしれません。

reST は Python ドキュメントの「公式」マークアップ言語として採用されていますが、それを使用する義務はありません。

では、なぜ doctest ドキュメントの doctest.testfile() の簡単な使用例が reST ファイルとして提供されているのでしょうか?

Doctest は、ドキュメントに埋め込まれたインタラクティブな例の正確性をチェックすることによってコードをテストする方法であるため、doctest モジュールを説明する例に reST マークアップも含まれていることは理にかなっています。

インタラクティブな入力/出力の例のみを含み、他のコンテンツを含まないテキスト ファイルに対して doctest を実行できます。これらの例は、軽量の単体テストとしては役立ちますが、単独ではドキュメントとしてはあまり適していません。

reST で作成された doctest を、Sphinx 以外の便利な場所で使用できるかどうか疑問に思っています。

ドキュメントに Sphinx を使用していない場合でも、テスト可能なコード例があると便利です。

reST を理解する代替のドキュメント ツールを探している場合は、docutils (Sphinx のベース) とそのフロントエンド ツール(rst2html.py など) を調べてください。

興味深いかもしれない別のツールはrst2pdfです。

于 2012-05-19T10:14:41.950 に答える
0

ドキュメントに doctest を追加することは、ドキュメント内のコードが実際に期待どおりに機能することを確認するのに意味があります。つまり、ドキュメントをテストしています。一般的なコード テストでは、doctest の使用はまったく推奨できません。

于 2015-08-25T16:23:36.193 に答える