インストール

Python 3.10以降を用意し、niltestを利用する仮想環境へインストールします。OSとPythonの導入方法によってコマンド名が異なります。

Windowsでは通常 python -m pip、UbuntuやmacOSでは python3 -m pip を使います。仮想環境を有効化すると、多くの環境で pythonpip がその仮想環境を指します。

pip installpip3 install も利用できますが、別のPythonへ誤って入れるのを避けるには、使用するPythonを明示する python -m pip または python3 -m pip が確実です。

OS
環境
pip install niltest

有効化中の仮想環境へインストールします。

ケースを書く

given は実際のキーワード引数、returns はその入力に対する期待結果です。ケース名と説明には利用者が理解できる言葉を使います。

python
import niltest
from niltest import Mode, expect, scenario

niltest.configure(mode=Mode.TEST)  # @scenarioより前

@scenario("配送料")
def shipping_fee(subtotal: int, premium: bool = False) -> int:
    if expect:
        expect.case(
            "プレミアム会員は無料",
            given={"subtotal": 1_000, "premium": True},
            returns=0,
        )

    return 0 if premium or subtotal >= 5_000 else 500

CLIから実行する

シナリオを定義したモジュールをインポートパスで指定します。すべて成功すれば終了コード0です。

shell
niltest run your_package.specs --language ja

次に読むもの

  • 開発中に固定値を返したい → モック
  • 値以外の条件を確認したい → 期待値と検証
  • CIへ組み込みたい → テスト実行