書いた人 大中浩行(せとあずさ♂)(@setoazusa) Unit Testを行う場合において、テストケース側から制御することが難しいコンポーネントが行う処理のことを間接的入出力(Indirect Input)といいます。例えばJavaでサーブレットを書く時には、HttpServletクラスの public void service(ServletRequest req, ServletResponse res) というメソッドをオーバーライドするわけですが、HttpServetRequestやHttpServletResponseのインスタンスはどこで生成されているのかといえば、それはWebコンテナの内部であって、我々が関与できるところではありません。他にもデータベースであるとか、外部環境とのエクササイズを伴うとか、異常系の動作を確認する必要があるとか、Unit Testを書く上で妨げ