Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Esta página descreve brevemente algumas técnicas que são úteis ao testar o código diretamente em blocos de anotações Databricks. Você pode usar esses métodos separadamente ou juntos.
Para obter um passo a passo detalhado de como configurar e organizar funções e testes de unidade em notebooks Databricks, consulte Testes de unidade para notebooks.
Muitas bibliotecas de teste de unidade funcionam diretamente no notebook. Por exemplo, você pode usar o pacote Python unittest interno para testar o código do bloco de anotações.
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'
As falhas de teste aparecem na área de saída da célula.
Usar widgets do Databricks para selecionar o modo de notebook
Você pode usar widgets para distinguir invocações de teste de invocações normais em um único bloco de anotações. O código a seguir produz o exemplo mostrado na captura de tela:
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'))
A primeira linha gera o menu desdobrável Modo
Ocultar código de teste e resultados
Para ocultar o código e os resultados do teste, selecione Ocultar código ou Ocultar resultado no menu de ações da célula . Os erros são exibidos mesmo se os resultados estiverem ocultos.
Agendar testes para serem executados automaticamente
Para executar testes periodicamente e automaticamente, você pode usar blocos de anotações agendados. Você pode configurar o trabalho para enviar e-mails de notificação para um endereço de e-mail que você especificar.
Separe o código de teste do bloco de anotações
Você pode manter o seu código de teste separado do seu notebook usando %run ou pastas Git do Databricks. Quando se usa %run, o código de teste é incluído num caderno separado que é chamado a partir de outro caderno. Ao usar pastas do Databricks Git, pode manter o código de teste em ficheiros de código-fonte que não são de blocos de notas.
Esta seção mostra alguns exemplos sobre como usar %run e pastas do Git do Databricks para separar o seu código de teste do notebook.
Utilizar o comando %run
A captura de ecrã abaixo mostra como usar %run para executar um notebook a partir de outro notebook. Para obter mais informações sobre como usar %run, consulte Usar %run para importar um caderno. O código usado para gerar os exemplos é mostrado após a captura de tela.
Aqui está o código usado no exemplo. Este código pressupõe que os notebooks shared-code-notebook e shared-code-notebook-test estejam na mesma pasta de espaço de trabalho.
Bloco de anotações de código compartilhado:
def reverse(s):
return s[::-1]
shared-code-notebook-test:
Numa célula:
%run ./shared-code-notebook
Numa célula subsequente:
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'
Usar pastas Git do Databricks
Para código armazenado numa pasta Databricks Git, pode chamar o teste e executá-lo diretamente de um notebook.
Você também pode usar o terminal da Web para executar testes em arquivos de código-fonte, assim como faria em sua máquina local.
Configurar um fluxo de trabalho no estilo CI/CD
Para blocos de anotações numa pasta Git Databricks, pode configurar um fluxo de trabalho estilo CI/CD, configurando testes em blocos de anotações para execução em cada commit. Consulte Ações do GitHub do Databricks.