たとえばこんな関数

function pow(x, y) {}

テスト駆動でやるとしたら、実装よりも前にテストコードを
書かないといけないわけだけど、
正常系はかけるだろう。

だけど異常系、たとえばxやyに数字以外を入れた場合のエラーは
実装よりも先に書くのか?という問題がある。

実装を書いてしまえば、当然エラーで落ちるだろう。
その後にテストコードを書いたらテスト駆動にはならないから
先に書くしか無いはずなんだが。