LoginSignup
13
15

More than 5 years have passed since last update.

Windowsアプリケーションのテストライブラリ"Friendly"が面白い。

Posted at

FriendlyはWIndowsアプリケーション向けの結合テスト作成用のライブラリです。
砕けていうなWIndowsアプリケーションをAPI化してテストが可能というツール。
API化前提なのでテストに留まらずソースコードに直接手が出せないツールなども利用可能だ。

ソースコードとチュートリアル諸々が製作者様のホームページにて
公開されているので興味ある方はご覧ください。
http://www.codeer.co.jp/AutoTest

Friendlyの破壊力は凄まじいものがあるが、
導入効果としてはやはりテスト意識の向上に着目したい。
特にMVVMモデルのアプリケーションに対してだ。

各層をライブラリ単位(.csproj/.dll)で分けてしまえば
Model及びViewModelはFriendlyでテストを行うという切り分けが安易に可能だ。
MVVMパターンとものすごく相性が良い。

補足すると最初からロジックを分けているのであれば、
各クラスを個別で単体テストしてしまえば良いと言えるが、
MVVMモデルをテストする上で厄介なのはバインドだ。

一般的にUnitテストは1クラスに対してテストケースを作成するが、
ViewModel(VM)を対象にした場合、対象を1クラスにしてしまうと、
バインド情報を無視する事になり健全なテストと言い切るのは難しい。

その点、Friendlyであれば別プロセスで実行中のアプリケーションをAPI化して
テストしてしまうので、バインド情報が生きたまま1クラス(ViewModel)に対するテストが可能なのだ。

MVVMモデルで単体テストを行うなら
バインドの事情も踏まえつつ単体テストが可能なFriendlyを是非推したい。

さて話がガラリと変わりますが、
Friendlyを利用してWPFの各イベントフローの調査ツールを作る話を
アドベントカレンダーで話したいと思います。
興味ある方は次の記事も是非見ていただければ嬉しいです。

http://qiita.com/advent-calendar/2016/csharp
2016/12/22

13
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
15