Databricks Notebook 테스트
이 페이지에서는 Databricks Notebook에서 직접 코드를 테스트할 때 유용한 몇 가지 기술을 간략하게 설명합니다. 이러한 방법을 개별적으로 사용하거나 함께 사용할 수 있습니다.
Databricks Notebook에서 함수 및 단위 테스트를 설정하고 구성하는 방법에 대한 자세한 연습은Notebook에 대한
많은 단위 테스트 라이브러리가 Notebook 내에서 바로 작동합니다. 예를 들어 기본 제공 Python unittest
패키지를 사용하여 Notebook 코드를 테스트할 수 있습니다.
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'
테스트 실패는 셀의 출력 영역에 표시됩니다.
Databricks 위젯을 사용하여 Notebook 모드 선택
위젯을 사용하여 단일 Notebook의 일반 호출과 테스트 호출을 구분할 수 있습니다. 다음 코드는 스크린샷에 표시된 예제를 생성합니다.
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'))
첫 번째 줄은 모드 드롭다운 메뉴를 생성합니다.
테스트 코드 및 결과 숨기기
테스트 코드 및 결과를 숨기려면
자동으로 실행되도록 테스트 예약
주기적으로 테스트를 자동으로 실행하려면 예약된 Notebook을 사용하면 됩니다. 지정한 이메일 주소로 알림 이메일을 보내도록 작업을 구성할 수 있습니다.
Notebook에서 테스트 코드 구분
%run
또는 Databricks Git 폴더를 사용하여 테스트 코드를 Notebook과 별도로 유지할 수 있습니다.
%run
을 사용하는 경우 테스트 코드는 다른 Notebook에서 호출하는 별도의 Notebook에 포함됩니다. Databricks Git 폴더를 사용하는 경우 Notebook이 아닌 소스 코드 파일에 테스트 코드를 유지할 수 있습니다.
이 섹션에서는 %run
및 Databricks Git 폴더를 사용하여 테스트 코드를 Notebook과 분리하는 몇 가지 예를 보여 줍니다.
%run
사용
아래 스크린샷은 %run
을 사용하여 다른 Notebook에서 Notebook을 실행하는 방법을 보여줍니다.
%run
을 사용하는 방법에 대한 자세한 내용은 %run을 사용하여 Notebook 가져오기를 참조하세요. 예제를 생성하는 데 사용되는 코드는 스크린샷 다음에 표시됩니다.
예제에 사용된 코드는 다음과 같습니다. 이 코드는 shared-code-notebook과 shared-code-notebook-test가 동일한 작업 영역 폴더에 있다고 가정합니다.
shared-code-notebook:
def reverse(s):
return s[::-1]
shared-code-notebook-test:
한 셀에서:
%run ./shared-code-notebook
후속 셀에서 다음을 실행합니다.
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'
Databricks Git 폴더 사용
Databricks Git 폴더에 저장된 코드의 경우 테스트를 호출하고 Notebook에서 직접 실행할 수 있습니다.
로컬 컴퓨터에서와 마찬가지로 웹 터미널을 사용하여 소스 코드 파일에서 테스트를 실행할 수도 있습니다.
CI/CD 스타일 워크플로 설정
Databricks Git 폴더에 있는 노트북의 경우, 각 커밋에 대해 노트북 테스트가 실행되도록 구성하여 CI/CD 스타일의 워크플로를 설정할 수 있습니다. Databricks GitHub Actions를 참조하세요.