UnitTest は,関数を作成する以前にその挙動を Test する関数を用意し,この Test をパスするように関数を作成することで,Test -> Release -> Test -> Release のサイクルを繰り返す関数作成方法です.

一般的にはオブジェクト指向言語においてクラスの振舞いを Test する文脈で導入されますが,R の場合は日常的にはクラスの作成よりも関数の作成の方が多いと思われるので,以上のように記述しました.

誤りがあれば訂正してください.

COLOR(magenta){投稿者どの。勝手ですが何故か Tips 集からのリンクがうまくいかないのでタイトルを大文字に変更させて頂きます。ご了解願います。理由はおそらく最後に同名の外部参照リンクがあるからだと思います。なおもと記事そのものは健在です。}

----

R において,UnitTest 的な Test Driven な関数作成を行えると,幾つかの関数を連係させたアプリケーションを作成する際に有用な Tips になると思います.

とはいえ,関数型言語だといまいちそぐわないようにも感じているのですが.[[SchemeUnit:http://schematics.sourceforge.net/schemeunit.html]] というのが R とは近いでしょうか.


----

* Sample

** (1) ''test.myfunc()'' を用意する.

  test.myfunc <- function()
  {
     if( mufunc( 1, 1 ) == 2 ) {
        return( TRUE )
     else
        return( FALSE )
    }
  }

** (2) ''myfunc()'' を書く

  myfunc <- function( a, b )
  {
     return( a + b )
  }

----

* コメント
- test.myfunc 中に関数 myfunc の期待される挙動の検査項目をリストアップしておき、それにすべてパスしたら TRUE を返すように設計するという趣旨ですね。 --  SIZE(10){2003-07-26 (土) 23:39:04}
-そうです.常に Test をクリアするように記述することで信頼性を高め,コンスタントに改良を加えられるようにする,という考え方と理解しています. --  SIZE(10){2003-07-26 (土) 23:47:46}

#comment

* リンク
- [[UnitTest:http://c2.com/cgi/wiki?UnitTest]]
- [[SchemeUnit:http://schematics.sourceforge.net/schemeunit.html]]


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS