志潟です。
At 02/09/13 00:44 +0900, Kaoru Hosokawa さん wrote:
>「Chapter 35 Mastering TDD」 の一番最後の章「Darach's Challenge」で、
>
>・GUIは自動テストできない
>・分散オブジェクトは自動テストできない
>…
>
>と、TTDを挑戦しているリストがありますね。ここの解がはやく見つかってくれるとい
>いですね。というか、見つけたいですね。現場の開発者は、GUIプ
>ログラミングが主で、TDDを勧めても、なかなか飛びついてくれません。
私も同様の悩みを抱えています。
それに加えてマルチスレッドや非同期の問題もあります。
先日のTDDセミナーでKentさんに直接聞いてみたのですが、
答えるのを最後まで渋ってました。(冗談みたいですが)
そのときの回答はSearch Backgroundというサンプルで示されました。
GUIの画面に非同期で返ってくる検索結果をリストで表示する場合のテストの方法です。
1)Searching Correctly
まずSearch機能自体をSingle Threadで確認する
2)Notifing Progress
Search機能はFakeしてNotifyだけを確認する
3)Given a Notification, update the screen
Notifyの部分を結合してGUIが更新されることを確認する
...実はこれだけで私自身もすっきりしていません。
GUIの表示をどのように確認するのか具体的なことは示されませんでした。
(そういうことをKent Beckに聞くこと自体がいけなかったかもしれません)
同席された方でこれ以上の理解をされた方はぜひ教えてください。
#英語で聞くのも大変だったのと、終了間際で急いでいたこともあり、
#これ以上聞くのを断念しました。せっかくのチャンスを逃して後悔です。。。
#この質問をタスクリストの最後に持ってきたのはKentの作戦だったのかもしれません。