繰り返し実行する予定の Jupyter ノートブックがあります。その中に関数があり、コードの構造は次のとおりです。
def construct_url(data):
...
return url
def scrape_url(url):
... # fetch url, extract data
return parsed_data
for i in mylist:
url = construct_url(i)
data = scrape_url(url)
... # use the data to do analysis
と のテストを書きたいと思いconstruct_url
ますscrape_url
。これを行う最も賢明な方法は何ですか?
私が検討したいくつかのアプローチ:
- 関数をユーティリティ ファイルに移動し、標準の Python テスト ライブラリでそのユーティリティ ファイルのテストを記述します。おそらく最良のオプションですが、すべてのコードがノートブックに表示されるわけではありません。
- テスト データを使用して、ノートブック自体にアサートを記述します (ノートブックにノイズを追加します)。
- 特殊な Jupyter テストを使用して、セルの内容をテストします (セルの内容が変更されるため、これが機能するとは思わないでください)。