nullチェックにassertionはイマイチという話

nullチェックにassertionを使うとtestablityとreadabilityが損なわれるよと。
http://googletesting.blogspot.com/2009/02/to-assert-or-not-to-assert.html

  • テストコードで引数にnullを与えることで読者に「これは追いかける必要が無いものですよ」と知らせることができる
  • assertionでnullチェックを行うと
    • (nullを渡せないので)必要の無いオブジェクトを作成することを強制されてしまう
    • テストコードの読みやすさと書きやすさが損なわれる
  • nullが来たらどーすんだ
    • Factoryクラスを作ってそっちでテストしとけ
  • 外部に公開されるAPI等で無い限りこれで十分
  • assertionもちろん使うよ状態チェックとかに

テストコード用に簡単にオブジェクトを作れる手段(nullチェック無しのコンストラクタ)を提供すれば解決?