0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Databricksノートブックのテスト

Last updated at Posted at 2023-01-03

Test Databricks notebooks | Databricks on AWS [2022/11/30時点]の翻訳です。

本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。

本書では、Databricksノートブックにおけるいくつかのコードテストの方法をカバーします。これらの方法を別々あるいは組み合わせて使用することができます。Unit testing for notebooksもご覧ください。

多くのユニットテストのライブラリはノートブック内で直接動作します。例えば、ノートブックのコードをテストするためにビルトインのPythonの`unittest`パッケージを使用することができます。

Python
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'

セルの出力エリアにテスト失敗が表示されます。

単一のノートブックにおいてテスト用の呼び出しなのか、通常の呼び出しなのかを区別するためにウィジェットを使うことができます。

テストコードとテスト結果を非表示にするには、セルのドロップダウンから関連するメニュー項目を選択します。結果が非表示になっていたとしても、発生したエラーは表示されます。

テストを定期的、自動的に実行するには、ノートブックのスケジュール機能を使用することができます。指定したメールアドレスに通知を送るようにジョブを設定することができます。

ノートブックからテストコードを分離する

テストされるコードとテストコードを分離するには、ノートブックでコードを共有するを参照ください。

%runを使った例です。

Databricksのレポに格納されているコードに対しては、ローカルマシンで行うのと同じようにソースコードファイルでテストを実行するためにウェブターミナルを使用することができます。

ノートブックからこのテストを実行することもできます。

Databricksのレポに格納されているノートブックに対しては、コミットごとにノートブックのテストを設定することで、CI/CDスタイルのワークフローをセットアップすることができます。Databricks GitHub Actionsをご覧ください。

Databricks 無料トライアル

Databricks 無料トライアル

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?