84

繰り返し実行する予定の 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 テストを使用して、セルの内容をテストします (セルの内容が変更されるため、これが機能するとは思わないでください)。
4

10 に答える 10