問題タブ [doctest]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Sphinx拡張機能を使用してdoctest出力を自動生成する
doctestのスフィンクス拡張機能について何かが足りないと思います。
ドキュメントの典型的な例は次のとおりです。
1
sphinxに出力(ここでは:)を自動的に 生成させる方法はありませんか?
私が理解している限り、実行することは可能です:
これは、コードスニペットをテストし、実際の出力を期待される出力と比較する効果があります。たとえば、
1
doctestは、期待していた間に取得したことを警告します3
。
代わりに、sphinxで実際の出力だけをdocstringまたは.rstファイルに挿入したいと思います。たとえば、次のようなものがある場合:
make doctest
オプションを指定して実行すると、docstringが次のように変更されます。
きっと可能で、とても便利でしょう!
python - Pythondoctest文字列のエスケープの問題
このdoctestの場合:
私はこの結果を得ています:
文字列は同等であるため、テストに合格する必要があります。ただし、「Got:」文字列では、\xHH
エスケープの一部が対応するASCII文字に変換されていますが、「Expected:」文字列ではこれが行われていません。
docstringの物乞いでに変更r'''
すると、代わりに次のようになります。'''
doctestで2つの文字列を一致させるにはどうすればよいですか?
python - os.popen()でdocstringを汚染せずに引数の解析をテストするシェルスクリプト用のPython doctest
os.popen呼び出しでドキュメントの例を汚染しないコマンドライン(ターミナル)から起動することを目的としたスクリプトをテストするためのpython doctest文字列を作成する方法はありますか?
popenを使用せずにdoctest.testmod()を実行すると、スクリプトがbash(またはDOS)シェルではなくpythonシェル内で実行されるため、テストが失敗するだけです。
LLNLの高度なPythonコースでは、.pyモジュールとは別のファイルにスクリプトを配置することを提案しています。ただし、doctest文字列は、引数の解析を行わずに、モジュールのみをテストします。そして、私のos.popen()アプローチは、サンプルのドキュメントを汚染します。もっと良い方法はありますか?
python - Doctest の出力がシェルの出力と異なる
doctest とシェルで同じコードを使用すると、異なる出力が得られます。
いくつかのテストを実行する a() という関数があります。
これらと同じテストが doctest (test() ) で使用されます。
a() を使用すると、OBJECT-BLANKLINE-OBJECT が返されますが、test() ではエラーが発生し、最初の OBJECT のみが表示されます。
これは doctest モジュールの欠陥ですか?
上部に a() と test() の両方を含むファイル全体を次に示します。
a() と test() の両方を使用して取得した出力は次のとおりです。
また、以前のひどく尋ねられた質問についてお詫び申し上げます。
うまくいけば、これは私と他の人を助けるでしょう.
python - Delphi の Python DocTest と同等ですか?
Delphi の DocTest に相当するものはありますか。私は DUnit を使用していますが、Python DocTest のアイデアが気に入っています。hereのような答えを見ましたが、単純な関数の場合、DocTest のようなもので問題ないと思います。私の目標は、関数を作成するときにコメント ヘッダーでテストを定義することです。お気に入り :
python - モジュール内のdoctestで特定の関数のみをテストすることは可能ですか?
doctestモジュールを使用してPythonでテストを開始しようとしています。現時点では
- 関数のテストを記述します。
- 関数コードを実装します。
- テストに合格したら、さらにテストとコードを記述します。
- 関数が完了したら、実装する次の関数に進みます。
したがって、多くのテストを行った同じモジュールで3つまたは4つの(独立した)関数を実行した後、doctestによって大量の出力が得られます。そして、それは少し厄介です。
doctestに「関数をテストしないでください」と言って、a()
b()
c()
マークされていない関数のみを実行するようにする方法はありますか?
私は旗を見つけただけでdoctest.SKIP
、それは私のニーズには十分ではありません。このフラグをたくさんの行に配置する必要があります。また、マークされた関数をもう一度確認したい場合は、コードを手動で調べて、内部に設定したフラグをすべて削除する必要があります。
python - doctest での連鎖例外
私はassert_raised
テスト用のコンテキスト マネージャーを作成しました。これは、予想どおりに例外が発生したことを確認し、そうでない場合はAssertionError
. これをテストするための doctest も作成しましたが、doctest が失敗し続け、その理由がよくわかりません。doctest は次のとおりです。
実際に発生する例外は次のとおりです。
実装は重要ではないと思いますが、ここで何か間違ったことをしている場合に備えて (doctest なしで):
python - web2py:パラメーターを渡すdoctestを作成する
簡単な質問だといいのですが、ドキュメントやweb2pyの本ではカバーされていないようです...
次のようなweb2pyコントローラーメソッドがあります。
ドキュメントに従って、パラメータがリクエスト変数として渡されます
(メソッド定義に沿って)doctestを作成して、次のような呼び出しの戻り値を評価する方法はありますmymethod(param1=9, param2='a', param3=3.7)
か?
前もって感謝します
python - 再構成されたテキストで doctest を書くのはなぜですか?
別の質問方法: reST で doctest を書いた場合、それを Sphinx やその他の自動ドキュメンテーションに使用できますか?
背景: 私は Sphinx の使い方を知らず、reST の経験もあまりないので、Sphinx 以外の便利な場所で reST で書かれた doctests を使用できるかどうか疑問に思っています。
python - Sphinx が継承された doctest を実行するのを防ぐ
numpy の MaskedArrays を大量に (継承して) 使用するライブラリを作成しました。make doctest
しかし、numpy から継承されたメソッドをテストせずにsphinx を実行したいと考えています。これは、約 100 回の失敗が発生するためです。
これは次のようになります。
そして、ライブラリが numpy の関数もサポートするようになったので、以下を使用します。
を無効にするself.__doc__ = getattr(MaskedArray, func_name).__doc__
と、の失敗がmake doctest
なくなります。しかし、継承されたドキュメントを保持したいと思います。ユーザーが引き続きmylibrary.min?
ipythonで使用できるようにします。
スフィンクスがこの「継承された」ドキュメントテストを実行するのを防ぐ方法を知っている人はいますか?