完全一致で返す

位置引数と既定値も関数シグネチャへ束縛してから比較するため、通常の呼び方を保てます。

python
import niltest
from niltest import Mode

niltest.configure(mode=Mode.MOCK)  # @scenarioより前
from your_package.shipping import shipping_fee

result = shipping_fee(1_000, premium=True)
assert result == 0

一致しなければ実装へ

対応する固定ケースがなければ、通常どおり本物の関数を実行します。部分的なスタブとして段階的に導入できます。

モックに向かない期待値

  • 型だけのreturnsは、返す具体値がないため実装を実行する
  • lambdaバリデータも、返す具体値がないため実装を実行する
  • 副作用そのものを確認する場合は専用のテストやmockライブラリを使う