Testování poznámkových bloků Databricks
Tato stránka stručně popisuje některé techniky, které jsou užitečné při testování kódu přímo v poznámkových blocích Databricks. Tyto metody můžete použít samostatně nebo společně.
Podrobný návod, jak nastavit a uspořádat funkce a testy jednotek v poznámkových blocích Databricks, najdete v tématu Testování jednotek pro poznámkové bloky.
Mnoho knihoven testování jednotek funguje přímo v poznámkovém bloku. Můžete například použít integrovaný balíček Pythonu unittest
k otestování kódu poznámkového bloku.
def reverse(s):
return s[::-1]
import unittest
class TestHelpers(unittest.TestCase):
def test_reverse(self):
self.assertEqual(reverse('abc'), 'cba')
r = unittest.main(argv=[''], verbosity=2, exit=False)
assert r.result.wasSuccessful(), 'Test failed; see logs above'
Selhání testů se zobrazí ve výstupní oblasti buňky.
Výběr režimu poznámkového bloku pomocí widgetů Databricks
Pomocí widgetů můžete rozlišit volání testů od normálních vyvolání v jednom poznámkovém bloku. Následující kód vytvoří příklad zobrazený na snímku obrazovky:
dbutils.widgets.dropdown("Mode", "Test", ["Test", "Normal"])
def reverse(s):
return s[::-1]
if dbutils.widgets.get('Mode') == 'Test':
assert reverse('abc') == 'cba'
print('Tests passed')
else:
print(reverse('desrever'))
První řádek vygeneruje rozevírací nabídku Režim :
Skrytí testovacího kódu a výsledků
Pokud chcete skrýt testovací kód a výsledky, v nabídce akcí buňky vyberte Skrýt kód nebo Skrýt výsledek. Chyby se zobrazují i v případě, že jsou výsledky skryté.
Naplánování automatického spuštění testů
Pokud chcete testy spouštět pravidelně a automaticky, můžete použít naplánované poznámkové bloky. Úlohu můžete nakonfigurovat tak, aby odesílala e-maily s oznámeními na zadaná e-mailová adresa.
Oddělení testovacího kódu z poznámkového bloku
Testovací kód můžete zachovat odděleně od poznámkového bloku pomocí %run
složek Gitu nebo Databricks. Při použití %run
je testovací kód součástí samostatného poznámkového bloku, který voláte z jiného poznámkového bloku. Když používáte složky Git Databricks, můžete nechat testovat kód v souborech zdrojového kódu poznámkového bloku.
Tato část ukazuje několik příkladů použití %run
složek Git a Databricks git k oddělení testovacího kódu od poznámkového bloku.
Použití %run
Následující snímek obrazovky ukazuje, jak použít %run
ke spuštění poznámkového bloku z jiného poznámkového bloku. Další informace o použití %run
naleznete v tématu %run k importu poznámkového bloku. Kód použitý k vygenerování příkladů je zobrazený na snímku obrazovky.
Tady je kód použitý v příkladu. Tento kód předpokládá, že poznámkové bloky shared-code-notebook a shared-code-notebook-test jsou ve stejné složce pracovního prostoru.
shared-code-notebook:
def reverse(s):
return s[::-1]
shared-code-notebook-test:
V jedné buňce:
%run ./shared-code-notebook
V následující buňce:
import unittest
class TestHelpers(unittest.TestCase):
def test_reverse(self):
self.assertEqual(reverse('abc'), 'cba')
r = unittest.main(argv=[''], verbosity=2, exit=False)
assert r.result.wasSuccessful(), 'Test failed; see logs above'
Použití složek Git Databricks
Kód uložený ve složce Git Databricks můžete volat a spustit ho přímo z poznámkového bloku.
Pomocí webového terminálu můžete také spouštět testy v souborech zdrojového kódu stejně jako na místním počítači.
Nastavení pracovního postupu ve stylu CI/CD
Pro poznámkové bloky ve složce Databricks Git můžete nastavit pracovní postup ve stylu CI/CD tak, že nakonfigurujete testy poznámkových bloků tak, aby se spouštěly pro každé potvrzení. Viz Databricks GitHub Actions.