Home > Latest topics

Latest topics > xUnit、アサーション、契約プログラミング

宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! シス管系女子って何!? - 「シス管系女子」特設サイト

xUnit、アサーション、契約プログラミング - Mar 11, 2009

今更だけど、「xUnitってなんやねん」というのがよく分からなくて須藤さんに訊いたら英語版WikipediaのxUnitの解説を見るといいと言われたので見てみたところ、日本語版のxUnitのページには無かったxUnit自体の解説がちゃんと含まれてたので、アカウント作って英語版の内容を翻訳して日本語版の方に追加してみた。

英語版によると、「フィクスチャ」と「テストスイート」と「setup→テスト本体→teardownという順番で実行すること」と「アサーション」といった点がxUnitの特徴であると。これらの特徴を備えたテストフレームワークを一般にxUnitと呼ぶと。そんな感じですか。つまりUxUもxUnit型のテストフレームワークの一種である(→UxUはxUnitである)というわけですね。知らんかった。(ぉぃ)

あと、なんでアサーションはアサーションなのか(検証=verifyじゃなくて表明=assertなのか)というのがずっと疑問だったんだけど、これは契約プログラミングという概念に由来する表現なのか。プログラミングなのに契約ってどういうことなんだ? 「規約」とかの誤訳なんじゃないのか? と混乱したけど、説明によると、サブルーチンの呼び出し元はサブルーチンに対して「契約」上のルールに則った値を渡す義務を負い、サブルーチン側は呼び出し元に対して「契約」上のルールに則った値を返す義務を負う、義務が果たされない=契約違反が生じたらその時点ですべての処理をストップする、という風にあったのでなるほど確かにこれは「契約」で正しいなと納得した。

分類:出来事・雑感, , , 時刻:14:33 | Comments/Trackbacks (0) | Edit

Comments/Trackbacks

TrackBack ping me at


の末尾に2020年11月30日時点の日本の首相のファミリーネーム(ローマ字で回答)を繋げて下さい。例えば「noda」なら、「2009-03-11_xunit.trackbacknoda」です。これは機械的なトラックバックスパムを防止するための措置です。

Post a comment

writeback message: Ready to post a comment.

2020年11月30日時点の日本の首相のファミリーネーム(ひらがなで回答)

Powered by blosxom 2.0 + starter kit
Home

カテゴリ一覧

過去の記事

1999.2~2005.8

最近のコメント

最近のつぶやき