Probar cuadernos de Databricks
En esta página se describen brevemente algunas técnicas que son útiles al probar el código directamente en cuadernos de Databricks. Puede usar estos métodos de forma conjunta o independiente.
Para ver un tutorial detallado sobre cómo configurar y organizar funciones y pruebas unitarias en cuadernos de Databricks, consulte Prueba unitaria para cuadernos.
Muchas bibliotecas de pruebas unitarias funcionan directamente dentro del cuaderno. Por ejemplo, puede usar el paquete unittest
de Python integrado para probar el código del cuaderno.
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'
Los errores de la prueba aparecen en el área de salida de la celda.
Uso de widgets de Databricks para seleccionar el modo de cuaderno
Puede usar widgets para distinguir las invocaciones de prueba de las invocaciones normales en un único cuaderno. El código siguiente genera el ejemplo que se muestra en la captura de pantalla:
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'))
La primera línea genera el menú desplegable Modo:
Ocultar código de prueba y resultados
Para ocultar el código de prueba y los resultados, seleccione Ocultar código u Ocultar resultado en el menú de acciones de celda. Los errores se muestran incluso si los resultados están ocultos.
Programar pruebas para que se ejecuten automáticamente
Para ejecutar pruebas de manera periódica y automática, puede usar cuadernos programados. Puede configurar el trabajo para que envíe correos electrónicos de notificación a una dirección que especifique.
Separación del código de prueba del cuaderno
Puede mantener el código de prueba separado del cuaderno mediante %run
o carpetas de Git de Databricks. Cuando se usa %run
, el código de prueba se incluye en un cuaderno independiente al que se llama desde otro cuaderno. Al usar carpetas de Git de Databricks, puede mantener el código de prueba en archivos de código fuente que no son de cuaderno.
En esta sección se muestran algunos ejemplos de uso %run
y carpetas de Git de Databricks para separar el código de prueba del cuaderno.
Use %run
En la captura de pantalla siguiente se muestra cómo usar %run
para ejecutar un cuaderno desde otro cuaderno. Para obtener más información sobre el uso de %run
, consulte Uso de %run para importar un cuaderno. El código usado para generar los ejemplos se muestra después de la captura de pantalla.
Este es el código usado en el ejemplo. En este código se supone que los cuadernos shared-code-notebook y shared-code-notebook-test están en la misma carpeta del área de trabajo.
shared-code-notebook:
def reverse(s):
return s[::-1]
shared-code-notebook-test:
En una celda:
%run ./shared-code-notebook
En una celda posterior:
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'
Uso de carpetas de Git de Databricks
Para el código almacenado en una carpeta de Git de Databricks, puede llamar a la prueba y ejecutarla directamente desde un cuaderno.
También puede usar el terminal web para ejecutar pruebas en archivos de código fuente del mismo modo que lo haría en el equipo local.
Configuración de un flujo de trabajo de estilo CI/CD
Para cuadernos en una carpeta de Git de Databricks, puede establecer un flujo de trabajo al estilo CI/CD configurando pruebas de cuadernos para que se ejecuten en cada confirmación. Consulte Acciones de GitHub en Databricks.