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에서 테스트 코드 구분
Databricks Git 폴더 또는 Databricks Git 폴더를 사용하여 %run
테스트 코드를 Notebook과 별도로 유지할 수 있습니다. %run
을 사용하는 경우 테스트 코드는 다른 Notebook에서 호출하는 별도의 Notebook에 포함됩니다. Databricks Git 폴더를 사용하는 경우 테스트 코드를 Notebook이 아닌 소스 코드 파일에 유지할 수 있습니다.
이 섹션에서는 테스트 코드를 Notebook과 구분하기 위해 Databricks Git 폴더를 사용하는 %run
몇 가지 예를 보여 줍니다.
%run
사용
아래 스크린샷은 %run
을 사용하여 다른 Notebook에서 Notebook을 실행하는 방법을 보여줍니다. %run
을 사용하는 방법에 대한 자세한 내용은 %run을 사용하여 Notebook 가져오기를 참조하세요. 예제를 생성하는 데 사용되는 코드는 스크린샷 다음에 표시됩니다.
다음은 예제에서 사용되는 코드입니다. 이 코드는 notebooks 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 폴더의 Notebook의 경우 각 커밋에 대해 실행되도록 Notebook 테스트를 구성하여 CI/CD 스타일 워크플로를 설정할 수 있습니다. Databricks GitHub Actions를 참조하세요.
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기