書き物

技術とか作った物の話とか愚痴文句感想など

描画系のテストってどうやるのか?

基本的にGUI等の描画系のテストというのはやりにくいものらしいです。

GUI系のテストをする場合、基本的には

たとえば、GUIの場合はなるべくビューとロジックを分離させ、ロジックのテストをメインにするようにします。

http://www.javainthebox.net/publication/200401JP34/junit.html

とのこと。


描画系のメソッドで、引数に対してメソッド内部で描画位置やらスケール等を計算し、その結果に基づいて描画...というのは結構存在する思います。

ビューとロジックを分離する...というのは、このコードの組み方自体を考え直すということでしょうか。

描画するための情報を別途クラスメンバのプロパティにしておき、何かしら描画情報変更メソッドを呼ぶことで、これらのプロパティに値が設定される。

描画メソッドを呼び出すと、それらのプロパティを使用して描画...という感じ?

テストは描画情報変更メソッドに対して行い、描画メソッドに対してはテストしないことになるんですかね?


テストファーストだと、テストできるようにコードを組むって考え方があるので、そういうことなんでしょうか...。

テストできるかつ、クラス設計がグチャにならないように...というのはなかなか難儀!