問題タブ [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.

0 投票する
1 に答える
1651 参照

python - 文字列リテラルを含むDoctest

XMLを文字列として受け取る関数に対して記述したい単体テストがあります。これはdoctestであり、テストに沿ったXMLが必要です。XMLは複数行であるため、doctest内で文字列リテラルを試しましたが、成功しませんでした。簡略化されたテストコードは次のとおりです。

私が得るエラーは

私は多くの組み合わせを試しましたが、これを機能させることができないようです。私が得るのは、これか「一貫性のない主要なホワイトペース」エラーのいずれかです。助言がありますか?私はPython2.4を使用しています(いいえ、アップグレードする可能性はありません)。

0 投票する
1 に答える
629 参照

python - Django - Unitest または Doctest?

私は 3 番目の中規模プロジェクトを開始しようとしていますが、(人生で初めて) 単体テストの使用を開始したいと考えています。しかし、どの方法を使用するか、unitests と doctests のどちらを使用するかはわかりません。どの方法が最も効率的ですか、または初心者はどの方法を選択して実装する必要がありますか? ありがとう

0 投票する
6 に答える
26849 参照

python - Python doctest の結果文字列に特殊文字 (タブ、改行) を含めるにはどうすればよいですか?

次の python スクリプトがあるとします。

この関数は、Python インタープリター内で意図したとおりに機能します。

ただし、結果の文字列と比較する前にタブ文字がスペースに変換されるため、doctest の例は失敗します。

与える

テスト結果の比較が適切に実行されるように、doctest ヒアドキュメント文字列でタブ文字をエンコードするにはどうすればよいですか?

0 投票する
1 に答える
737 参照

python - サードパーティのライブラリに依存するコードをテストするときにモックするかしないか

基本的に、pySnmp ライブラリを使用して SNMP メッセージを送信する複雑さを隠す関数を作成しました。次のようになります。

私は単体テストが初めてで、minimock を使用してこのコードの単体テストを doctest として記述しようとしていましたが、これが私が思いついたものです:

だから私はこのテストを実行し、それはうまくいきますが、私の質問は、サードパーティのライブラリのあらゆる側面をモックするために本当にこのすべての努力をする必要があるのですか? cg.nextCmd(comm_data,transport,variables)私の考えでは、単体テストでプリンターへのメッセージの送信を実際に開始したくないため、モックする必要がある最小限は最終行ですが、ライブラリコードへの他の呼び出しでは、何に応じて一貫した結果が得られるはずです私は彼らに渡します。コードがライブラリと適切に対話することを確認できます (つまり、モックcg.nextCmd(...)呼び出しに渡されたオブジェクトでこれをアサートすることにより、ホスト引数がトランスポート変数に正しく渡されることを確認しますか?

0 投票する
1 に答える
237 参照

python - Python doctest&coroutine

doctestコルーチンに少し問題があります...

通常のdoctestスキャフォールディングを使用する場合:

doctestよりブルートフォース方式を使用した場合、何も表示されません。

私は期待される結果を見ることができます:

私は何が間違っているのdoctestですか?

0 投票する
1 に答える
156 参照

python - Unittestとdoctest、ファイルを呼び出し可能にする方法は?

単体テストを実行したいドキュメントテストを含むPythonスクリプトを含むフォルダーがあります。このような1つのファイルでテストしようとすると:

このエラーが発生します:

ただし、コマンドラインから実行すると

できます。

ファイルを呼び出し可能にするにはどうすればよいですか?

0 投票する
1 に答える
234 参照

python - Python の doctest で変数エラーを処理するにはどうすればよいですか?

ファイルが見つからない場合に IOError を予期する doctest があります。

ただし、これを別の PC からテストしたい場合、または他の人がテストしたい場合、パスは /homes/ndeklein/workspace/MS/PyMS/ にはなりません。やりたい

しかし、docstring にあるため、結果の一部として os.path.abspath( が表示されます。

docstring テスト変数の結果を作成するにはどうすればよいですか?

0 投票する
2 に答える
852 参照

python - docutils で null を使用する方法

null で動作する関数で doctest を実行しようとしています。しかし、doctest はヌルが気に入らないようです...

これらのエラーが表示されます

このようなテスト ケースで null を許可するにはどうすればよいですか?

0 投票する
2 に答える
441 参照

python - コードファイルの最後にpythondoctestを置きますか?

Python doctestを各関数の本体に入れることができます。これは、関数と同じファイルにあるため、小さなライブラリでよく使用します。

または、それらをすべてまとめて別のファイルにまとめて、別のファイルを実行することもできます。これは、関数の間にdoctestが必要ない場合に便利です。docstringが小さいと、コードの作業が簡単になることがあります。

Python doctestを同じファイルに保持し、ファイルの最後にすべてまとめる方法もありますか?


編集:以下の受け入れられた答えに基づく解決策:

実際、これは単純です。ダミー関数は、1つのdocstringにすべてのdoctestを含む最後の関数として作成されます。

0 投票する
3 に答える
427 参照

python - 途中でpython 2 doctestファイルを終了するには?

大きな doctests ファイルの最初の部分だけを実行すると便利な場合があります。

コードの変更後に最初の部分が壊れる状況はたくさんあります。最初の部分だけを実行し、それが通るまで実行してから、ファイル全体を再度実行したいと思います。

これを行う簡単な方法をまだ見つけることができませんでした。

このファイルで doctests を開始するとしましょう:

そして、scenario.rst は次のようになります。

この例では、exit() 関数を使用して、何を意味するかを示しています。もちろん、それは機能しません。これは、例外として扱われるためです。doctest は、喜んでテストできるものの一部として認識します。

では、そのような doctest ファイルを途中で終了するにはどうすればよいでしょうか?

編集: +SKIP ディレクティブがありますが、1 行だけスキップします。ファイルの残りをスキップするものが必要です。