επιστημη CUnitを使ってみよう 第1 5回 初心に帰って いこと寝てたのを急に叩き起こした が少なくなったAGP。Vistaに備える からでしょうか……。 にはマザーボードごと換装せにゃな 近所の大型量販店には むき出しの リムーバブルなHDケースを用意し、 えぴすてーめー バルクドライブなんぞは置いてなくて、 りません。ふっ、 「安物買いの銭失い」 とは僕のことさ……。 そこらへんに転がってたポンコツHDを スピンドル買いしているCD/DVD-R さて、dot NE T マガジンから Win ねじ込んで FedoraCore5なんぞをイン もそろそろ底をつきかけていたので今 dows Developerマガジンへと誌名が ストールし、WinXPととっかえひっか 月もアキバにいそいそと出掛けまし 改まって一年ちょっと。“.NE T だけ え遊び始めて一週間も経たぬうちに、 た。差し替えて再起動したときのトラ じゃない、Windows下の開発に絡む ポンコツHDが逝ってしまいました。い ブルを避けるためWinXPをインストー トピックを広範にカバーしようじゃ つまで 待ってもFedoraCoreが 立ち上 ルしてあるのとまったく同じSeagate ないの”という意気込みの表われか がってくれません。耳を澄ませばファ の40Gを買ってきてFedoraCoreを再 と思います。だから僕もC#とかC++/ ンの風切り音に混じってカコンカコン 度インストールしました。目下のとこ CLIだけじゃなく、畑を広げてもかま と不穏なHDの囁きが 聞こえます。長 ろすこぶる快調に動作してくれてま わんわけです。加えてVisual Studio す。近々、もいっこ買って来てVista 2005 Express が発売後一年としてい βを入れて遊ぼうかと思ってます。 た無償提供をさらに継続するとのこ レベル 1 2 3 4 言語 ■ C/C++ ツール ■ ■ Visual C++ 2005 Express CUnit 5 Vista正式リリースまでにはCPU周 と。これからプログラミングを始めよ りをも少し(かなりかも)強化してや うというビギナーには誠に有難いこ らんとあかんかとは思ってます。CPU とです。 だけならさほどの出費にはならんの 今回は初心に帰って「C」をネタに ですが、僕の愛機はSocket754のSem します。アプリケーション開発に有 pron。Socket754は最早型落ちして 効な単体テストのフレームワーク「C てSocket939のAthlon X2(DualCore) Unit」をVisual C++ 2005 Expressで が挿さらない。メモリスロットは2GB 使うというココロミ。 が精一杯でグラフィックボードも出物 2006 July 113 ありません。ウォーターフォールでは「実装してからテ CUnitとは ストで検証」だったのが「テストを用意し、それにパス するように実装」となります。そんなテスト環境を提供 21世紀に入って、XP(eXtreme Programming)がち するのが xUnitと呼ばれる単体テストフレームワーク ょっとしたブームになりました。従来のウォーターフォ (UnitTestFramework)で、今回紹介するCUnitはxUnit ールモデル、すなわちアプリケーションの開発を定義/ のひとつです。 設計/実装/検査の各工程にきちんと分け、前工程でき っちりと固めて後工程に引き渡すというもの。流れ作業 CUnit導入準備 のごとく作業が進み、理想的な開発プロセスといえるで しょう。が、現実はそう甘くない。作ってる最中に機能 追加やら仕様変更やらが容赦なく飛び込んできます。加 CUnitはライブラリです。テストコードを書き、コン えて昨今は「早く作る」が重要になってきています。長 パイルしてCUnitライブラリをリンクするとテストプロ い時間をかけてじっくりやってたらできあがった頃には グラムが出来上がります。これを実行すれば実装したテ 時代遅れになっちまう。ソフトウェア開発が周りの変化 ストコードを片っ端から呼び出してその結果が出力され に柔軟かつ迅速に対応することが求められているんで ます。 す。 そこで現われたのが XPと呼ばれる開発手法。XPでは CUnitはSourceForge上で開発が進められており、最 新版は、 (詳細)設計以降の工程がテストを中心に組み立てられ ています。つまり、詳細設計があらかた終わればその仕 http://sourceforge.net/projects/cunit/ 様からテストを作れます。 「この仕様を満たすのならば これらのテストにパスするはずだ」言い換えれば「これ から入手できます。5月時点での最新版はversion2.1-0で らのテストをすべてパスすれば仕様を満足していること す。CUnit-2.1-0-src.tar.gzまたはCUnit-2.1-0-src.zipをダ が保証される」と言い切れるテストの集合体(テストス ウンロードし、適当なディレクトリ(フォルダ)に展開 ィート:TestSuite)が作れます。そのテストは紙に書く してください(以降このディレクトリを<CUNIT>と表 のではなく、計算機が実行可能な“コード”で記述しま 記します) 。 す。そうすれば人の手でひとつひとつ実行しなくともボ Visual C++ 2005 Expressを起動し、ソリューション タン一発でたくさんのテストを高速に行ない、その結果 「<CUNIT>¥VC8¥CUnit.sln」を開きます(図1) 。CUnit. を出力させることができます。操作ミスもテスト漏れも slnにはいくつかのプロジェクトが 納められていますが、 CUnitライブラリ本体は libcunit だけで、それ以外はライ 図1:CUnitのソリューションファイル(CUnit.sln)を開く ブラリ自体のテストコードとサンプルコードです(図2) 。 Debug‐Static、Release‐Static、Debug‐DLL、Release‐ 図2:CUnit.slnの構成をチェック 114 Windows Developer Magazine
© Copyright 2024 Paperzz