問題タブ [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.
web2py - Web2py モジュールとドキュメントテスト
applications/webapp/modules/a.py をインポートするための local_import を含むモジュール applications/webapp/modules/a.py があります。a.py と b.py を doctest したい。"-T" オプションを指定した web2py シェルは部分的に動作しますが、"Finding tests in a.py: class " の後に以下に貼り付けられた例外が表示されます。
これは、「-T」オプションがコントローラーのテストのみを目的としているためであることを理解しています。しかし、a.py 内に local_import があるため、web2py 環境の外で a.py を簡単にテストする方法はありません。では、モジュールをドキュメントテストできるようにするには、どのようにモジュールをリファクタリングすればよいのでしょうか?
トレースバック (最新の呼び出しが最後):
ファイル "web2py.py"、19 行目、gluon.widget.start(cron=True) 内 ファイル "/home/.../web2py/gluon/widget.py"、796 行目、テストの開始 (options.test, verbose=options.verbose) ファイル "/home/.../web2py/gluon/shell.py"、326 行目、テスト doctest_object(name, obj) ファイル "/home/.. ./web2py/gluon/shell.py"、322 行目、doctest_object doctest_object(attr_name, o) ファイル "/home/.../web2py/gluon/shell.py"、321 行目、doctest_object o = eval(' %s.%s' % (name, attr_name), globs) File "", line 1, in NameError: name ' class ' is not defined
python - Python で同じことに対して複数の関数をテストするより良い方法
を使用して関数のテストを作成したい関数がたくさんあるpythonファイルを想定していますdoctest
。たとえば、すべての関数は文字列と接続オブジェクト ( httplib.HTTPConnection(...)
) を取ります。したがって、文字列が空またはNone
. テストは次のようになります。
ご覧のとおり、テストは同じで、関数名のみが変更されています。コードの繰り返しを避けるためにそれをリファクタリングすることは可能ですか?
または、そのようなテストをまとめるためのより良い方法はありますか?
python - noseを実行しているときにdoctestファイルの場所を見つける方法は?
私はPythonnoseを使用して、サブディレクトリで一連のdoctestを実行しています。呼び出し元のスクリプトはnose.cmdです。
(doctestsは* .rstファイルにあります。)
ディレクトリ構造の例:
最初のファイル自体の内部のPythonコードで最初のファイルのパスを取得するにはどうすればよいですか?たとえば、mymod.rstでは通常sys.path
、__file__
パス\ module1 \に関する情報は提供されませんが、インポートにはそれが必要です。
もちろん、ディレクトリを含む最初の各ファイルに定数を導入することもできますが、それは私が好むものではありません。
python - urllib2 でデータを取得する関数をどのようにテストしますか?
私はPythonでテストを始めており、このメソッドをテストする方法を自問しました.
doctest または unittest を使用して、これをどのように達成するのが最善ですか? get_response()
実世界に存在するテストURLといくつかのテストパラメーターを渡しresponse.read()
、期待されるデータが返されるかどうかを確認することを考えました。しかし、どういうわけか、これはそうすべきではないと感じています。助言がありますか?テキストメッセージのコンテキストでそのようなケースを処理する方法を提案していただければ幸いです。
python - pythondoctest例外テストの処理
というファイルに次の内容がありますtest2.txt
。
を使用してテスト実行を呼び出しpython -m test2.txt
ます。以下の結果は私の予想からかなり外れています。
私の考えでは、期待される出力をファイルに書き込んだので、テストは成功するはずでありtest2.txt
、コンソール出力から得たものと「ほぼ」一致します。'File "G:\"'.... line
?を追加してみました しかし、テストはまだ失敗しました。
python - docfile での Django とテスト
Django を使用したテスト スイートに小さな問題があります。
私は、Django と Plone (http://pypi.python.org/pypi/jquery.pyproxy) の両方で実行できる Python パッケージに取り組んでいます。すべてのテストは、Python コードまたは個別の docfiles (README.txt など) のいずれかで、doctests として記述されます。
これらのテストを正常に実行できますが、Django はそれらをカウントしません。
しかし、失敗したテストがあった場合は、正しく表示されます。
これは、私のテストスイートが現在どのように宣言されているかです:
テストスイートを宣言するときに何か間違っていると思いますが、それが正確に何であるかはわかりません。
助けてくれてありがとう、ヴィンセント
python - python doctest のデフォルトの名前空間
モジュールの doctests で、モジュールを完全な名前空間で参照したいと思います。たとえば、次のようになります。
そして、次のように書くことで、doctest が乱雑になるのを避けたいと思います。
各ドキュメントテストで。
doctest.testmod を実行すると、globs
キーワードを使用してこれを提供できることがわかりますが、nose を実行すると、setup
関数を使用できます。
両方で機能する別の標準的な方法はありますか?
python - django doctests が実行されていない
django-nose で django doctests を実行する際に問題が発生しています。/tests ディレクトリに追加された単体テストは正常に実行されますが、doctests は実行されません。
「シーズン」モジュールで doctests を実行しようとしています:
次の出力を取得します。
これを機能させるために、基本的なdoctestを試しています。たとえば、次のようになります。
これは私のmodels.pyにあります。実際にコードをテストする他の doctests を試しましたが、まだテストが実行されていません。--verbosity 3 で実行すると、問題の可能性がある 1 行が表示されます。
これが何を意味するのかについて、これ以上の情報は見つかりませんでした。
settings.py からの関連スニペット:
django_nose は、django-nose のドキュメントで指定されているように、INSTALLED_APPS の南の後にあります。ここで提案されているように --with-doctest 引数を使用しています: Nose not running Django doctests、およびここで提案されているように私の django-nose を最新のものに更新しました: Why doesn't django-nose running the doctests in my models?
これらは私が使用しているバージョンです:
django 1.3
python 2.7.1
django-nose 0.1.3
鼻 1.1.2
ここで基本的な設定が欠けているように感じます。他の情報が必要な場合はお知らせください。どんな助けでも大歓迎です、ありがとう!
python - コードがdoctestで実行されているかどうかを判断するにはどうすればよいですか?
(Python 2.7)コードがdoctestで実行されているかどうかを認識させるにはどうすればよいですか?
シナリオは次のとおりです。print()
引数として渡されたファイル記述子への出力を次のように行う関数があります。
しかしprinting_func()
、doctestで使用しようとすると、テストは失敗します。file
を呼び出すときにキーワード引数を指定したため、出力はdoctestモジュールによって設定されたデフォルトの出力リダイレクトではなく、print()
実際にになりsys.stdout
、doctestは出力を認識しません。
ではprinting_func()
、それがdoctest内で実行されているかどうかを確認して、file
呼び出し時にキーワード引数を渡さないようにするにはどうすればよいprint()
でしょうか。
python - ネストされた docstring の doctest
次のコードがあるとします。
そして、それを foo.py として保存しましょう。私が実行すると:
docstring をインデントしようとしました (>>> a = '''...'''。すべてのインデントをチェックしました - 各インデントに 4 つのスペース)。一重引用符を二重引用符に変更しました (>>> a = """.. ..""")、エラーは異なり、doctest はうまくいきません。現在のところ、すべての行を非常に長い文字列に結合し、'\r\n' で区切ることだけが機能します。
私は何かが恋しいですか?