У меня есть ноутбук 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 для проверки содержимого ячеек (не думайте, что это работает, потому что содержимое ячеек изменится).