Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

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

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away