「Test Driven Development for Embedded C」の翻訳本「テスト駆動開発による組み込みプログラミング」が発売されていた。私の環境で演習を行うには一手間必要だったので、覚え書きを書いておこう。
私の環境
OS : Windows XP Pro SP3(OSが何かは殆ど影響が無いかも)
IDE : Visual Studio 2008 Standard Edition(Expressでも同じかも)
何はなくとも本書のホームページからソースコードを落としてくる。
http://www.pragprog.com/book/jgade/
2種類の圧縮形式で提供されていた。Windowsはzipで、みたいな流れだったのでzipを落とした。
これを適当なディレクトリに展開する。私は D:\Home\Work に展開した。
READMEを開けば説明書きがあるので、基本的にはそれに従う。
(つまりREADMEで言うと、<BookCodeParent> = D:\Home\Work となる)
環境変数の設定
Visual Studioの人は、開く前に環境変数を設定しろと書いてある。
私は全体の環境を汚すのが苦手なので、まずコマンドプロンプトを開いて環境変数を定義する。
set CPP_U_TEST=D:\home\work\code\CppUTest
この環境を引き継いでVisual Studioを起動すれば良いので、このコマンドプロンプトにVisual Studioのショートカットをドラッグ&ドロップする。
CppUTestライブラリの生成
READMEには書いてないけど、CppUTestのライブラリが必要となるので、先にライブラリを生成する。
ソリューションファイルが用意されているので、<BookCodeParent>/code/CppUTest/CppUTest.sln をVisual Studioにドラッグ&ドロップする。ファイルを開くでもいいが、環境を引き継いで使うというやり方だとslnをダブルクリックでは環境を引き継いでくれないので注意のこと。F7(ソリューションのビルド)を実行すればライブラリ <BookCodeParent>/code/CppUTest/lib/CppUTest.lib が生成される。
全てのテストをコンパイル、実行
さていよいよ全てのテストを通してみよう。起動しているVisual Studio 2008に <BookCodeParent>/code/BookCode.dsw をドラッグ&ドロップする。勿論ファイルを開いても良い。新しいプロジェクトに変換するか、とか聞いてくるので「すべてはい」を押した。開いたら、READMEにある通り、Control+F5 でビルドと実行を一気にやってみよう。結果は次の通り。
...............................................!..
..................................................
...........................
OK (127 tests, 126 ran, 507 checks, 1 ignored, 0 filtered out, 0 ms)
続行するには何かキーを押してください . . .
これで「サンプルプログラムがそのまま動いた、開発環境間違ってないよね」までできた。