web-dev-qa-db-ja.com

Jupyter Notebook内でのpytestテスト関数の実行

pythonテストオプションについてのプレゼンテーションに取り組んでいます。デモを行いたいテクノロジーの1つはpytestです。jupyter/ ipythonノートブックからプレゼンテーションを行う予定です。理想的には、セルでテスト関数を定義し、pytestを使用してその関数だけを実行できるようにしたいので、pytestの個々の機能などを示すことができます。

これを行う既存の方法はありますか?私がpytest apiで見たインタラクティブな機能はどれも要件に適合しないようですが、私は確かにpytestの専門家ではありません。私はそれを行うプラグインを書いて嬉しいので、その方向での最善のアプローチについてのアドバイスは素晴らしいでしょう。

私はpytest-ipynbを見ましたが、それは私が必要とすることをしていないようです。その評価が間違っている場合、それを使用する方法についてのアドバイスも素晴らしいでしょう。

23
abingham

私はこの目的のために ipython_pytest を作成し、それを 私のPyConヘルシンキ2016プレゼンテーション で使用しました。

次のようなツールを使用します。

%%pytest

def test_my_stuff():
    assert 42 == 42

残念ながら、ノートブックで定義された関数とクラスをテストセルで関数をテストできるようにする方法が見つかりませんでした。誰かがそのための解決策を考え出してくれれば幸いです。

11
akaihola

非常に成熟したように見える同様のモジュールがあります: https://github.com/chmp/ipytest

@akaiolaによって開発されたモジュールで参照され、よりアクティブに見えます。

私は個人的にJupyterを使用していないので、自分でテストしたことはありませんが、良い解決策のようです。

これはGithubリポジトリからの例です( https://github.com/chmp/ipytest/blob/master/Example.ipynb

Jupyter Notebook with iPytest

14