問題タブ [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 - Pythonのdoctestで例外がスローされることを確認できますか?
doctest
例外が発生したことを確認する単体テストを作成することは可能ですか?
たとえば、の場合にfoo(x)
例外を発生させることになっている関数がある場合x < 0
、そのためにどのように記述doctest
しますか?
python - Python-doctestとunittest
私はPythonでユニットテストを始めようとしていますが、誰かがdoctestとunittestの長所と短所を説明できるかどうか疑問に思っていました。
それぞれをどのような条件で使用しますか?
c++ - Pythonのdoctestsと同等のC++?
Pythonのdoctestの概念は素晴らしいと思います。また、リアルタイムショップのC ++プログラマーとして、私は非常に嫉妬しています。基本的にユニットテスト機能はありませんが、これは深刻な障害です。C ++ Unitなどを見たことがありますが、Pythonのdoctestのようなコメントからテストケースを直接コードに入れるのではなく抽出できるものはありますか?
python - 動的に作成されたオブジェクトの Doctest
このようなコードをテストする最良の方法は何ですか (オブジェクトが毎回異なるブロックで作成されている間、以下のコードは明らかに失敗します):
python - テストと変数設定を区別できますか?
私はdoctestが好きですが、関数に渡す前に設定する必要がある複雑な引数があると、非常に読みにくくなります..したがって、テストしたい関数を割り当ててから呼び出す複数の行を使用し始めます..このアプローチただし、テストの実際の数ではなく、複数のテストがあることを報告します.例は、私が何を意味するかを説明します..
上記のスニペットでは、テストは 1 つだけで、もう 1 つは単なる変数の割り当てですが、これが報告される内容です。
文書化されたフラグを見てきましたが、確かに何かが欠けています..
python - Pythonの単体テスト内でdoctestの「結果パーサー」を使用していますか?
最近、Python での単体テストと doctest の組み合わせに関する問題に直面しました。他の方法でこの問題を回避しましたが、まだ疑問があります。
Python の doctest モジュールは、モジュール内の docstring を解析し、各行の先頭で ">>> " に続くコマンドを実行し、その出力と docstring の出力を比較します。
doctest モジュールで実装されているその比較方法を、必要なときに使用できるのだろうかと思います。doctest をテスト ケースとしてテスト スイートに追加できることはわかっていますが、ここでは単一のテスト ケース内で実行したいと考えています。
それは次のようなものです:
doctest はいくつかのヒューリスティックを使用して、省略記号などの出力を比較するためです。
誰かがアイデアや提案をしてくれませんか?
python - Python doctestはいくつかの出力行を無視できますか?
私はこのようなdoctestを書きたいです:
これを行う方法はありますか?単体テストに切り替える方が理にかなっていると思いますが、doctestのテストに一致してはならない出力の範囲を指定できるかどうか知りたいです。
ありがとう!
python - このテキスト ファイルを処理し、必要なものを解析するにはどうすればよいですか?
Python doctest モジュールからの出力を解析して HTML ファイルに保存しようとしています。
次のような出力があります。
各失敗の前にはアスタリスクの行があり、各テストの失敗が互いに区切られています。
私がやりたいのは、失敗したファイル名とメソッド、および期待される結果と実際の結果を取り除くことです。次に、これを使用して HTML ドキュメントを作成します (またはテキスト ファイルに保存してから、2 回目の解析を行います)。
Python のみ、または UNIX シェル ユーティリティの組み合わせを使用してこれを行うにはどうすればよいですか?
編集:各ブロックに一致する次のシェルスクリプトを作成しましたが、各 sed 一致を独自のファイルにリダイレクトする方法がわかりません。
python - doctests での文字列引用の問題
異なる Python バージョン (2.5 と 2.6) および異なるプラットフォーム (FreeBSD と Mac OS) で doctest を実行すると、文字列の引用符が異なります。
したがって、一方のボックスでは repr(decimal.Decimal('5.00')) の結果は 'Decimal("5.00")' になり、もう一方のボックスでは "Decimal('5.00')" になります。より複雑なテスト ロジックを作成せずに問題を回避する方法はありますか?
python - DOCTEST==argv[0] 慣習として?
私が書いている Python のビット (コマンド ラインおよびフィルター テスト ツール: claft ) では、組み込みのテスト スイート ( doctest )を呼び出す簡単な方法が必要であり、次のことを決定しました。
したがって、DOCTEST 変数が他のプログラムに設定されている場合は、無視します。実際、これに対する私のテストは次のとおりです: DOCTEST=./claft ./claft または、詳細にしたい場合は、次を使用できます: DOCTEST=./claft VERBOSE=1 ./claft したがって、DOCTEST=./claft を残しても私の環境では、テスト コードは、独自のディレクトリ内からプログラムを呼び出した場合にのみ実行されます。テスト スイートの 1 つに切り替えて、相対 PATH を使用してそれを呼び出すと、この関数を誤ってトリガーすることがなくなります。
他の誰かがこの種の規則を使用しましたか?
環境変数名間の競合を回避するための他の提案やベスト プラクティスは何ですか? テスト ハーネス機能への「非表示」アクセスを提供するには?
(また、claftで遊んでみたい人は、気軽に試してみてください。今のところかなり醜いコードで、ほとんど概念実証に過ぎません。しかし、最小限の機能しかありません。方法を独学する良い方法でもあります。 Mercurial と bitbucket を使用するには、wiki と問題追跡が、claftに関するフィードバックを投稿するのに最適な場所です)。