Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Na tej stronie krótko opisano niektóre techniki przydatne podczas testowania kodu bezpośrednio w notesach usługi Databricks. Można użyć tych metod oddzielnie lub razem.
Aby uzyskać szczegółowy przewodnik dotyczący konfigurowania i organizowania funkcji oraz testów jednostkowych w notatnikach Databricks, zobacz sekcję Testowanie jednostkowe notatników.
Wiele bibliotek testów jednostkowych działa bezpośrednio w notatniku. Na przykład możesz użyć wbudowanego pakietu języka Python unittest
do testowania kodu notesu.
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'
Błędy testów są wyświetlane w obszarze danych wyjściowych komórki.
Użyj widżetów Databricks do wyboru trybu notatnika
Widżety umożliwiają odróżnienie wywołań testowych od normalnych wywołań w jednym notesie. Poniższy kod tworzy przykład pokazany na zrzucie ekranu:
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'))
Pierwszy wiersz generuje menu rozwijane Tryb :
Ukryj kod testowy i wyniki
Aby ukryć kod testowy i wyniki, wybierz opcję Ukryj kod lub Ukryj wynik z menu akcji dla komórki . Błędy są wyświetlane nawet wtedy, gdy wyniki są ukryte.
Zaplanuj automatyczne uruchamianie testów
Aby okresowo i automatycznie uruchamiać testy, możesz użyć zaplanowanych notatników. Zadanie można skonfigurować tak, aby wysyłało wiadomości e-mail z powiadomieniami na określony adres e-mail.
Oddzielanie kodu testowego od notatnika
Możesz przechowywać kod testowy oddzielnie od notebooka, używając albo %run
, albo folderów Git w Databricks. W przypadku korzystania z %run
programu kod testowy jest dołączany do oddzielnego notatnika, który jest wywoływany przez inny notatnik. W przypadku korzystania z folderów Git usługi Databricks można przechowywać kod testowy w plikach źródłowych spoza notebooków.
W tej sekcji przedstawiono kilka przykładów użycia %run
folderów Git i Databricks w celu oddzielenia kodu testowego od notesu.
Użyj %run
Poniższy zrzut ekranu pokazuje, jak użyć %run
, aby uruchomić notes z innego notesu. Aby uzyskać więcej informacji na temat korzystania z programu %run
, zobacz Używanie %run
do importowania notesu. Kod użyty do generowania przykładów jest pokazany po zrzucie ekranu.
Oto kod używany w przykładzie. W tym kodzie przyjęto założenie, że notesy shared-code-notebook i shared-code-notebook-test znajdują się w tym samym folderze obszaru roboczego.
shared-code-notebook:
def reverse(s):
return s[::-1]
shared-code-notebook-test:
W jednej komórce:
%run ./shared-code-notebook
W kolejnej komórce:
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'
Korzystanie z folderów Git usługi Databricks
W przypadku kodu przechowywanego w folderze Git usługi Databricks można wywołać test i uruchomić go bezpośrednio z notesu.
Za pomocą terminalu internetowego można również uruchamiać testy w plikach kodu źródłowego tak samo jak na komputerze lokalnym.
Skonfiguruj przepływ pracy w stylu CI/CD
W przypadku notesów znajdujących się w folderze Git usługi Databricks, można stworzyć przepływ pracy w stylu CI/CD, ustawiając testy notesów, aby uruchamiały się przy każdym zatwierdzeniu. Zobacz Databricks GitHub Actions.