テスト駆動開発による組み込みプログラミングをやってみる Vol.2
『テスト駆動開発による組み込みプログラミング C言語とオブジェクト指向で学ぶアジャイルな設計』
James W.Grenning 著
蛸島 昭之 監訳
笹井 崇司 訳
2章 テスト駆動ツールと約束事 - 2.7 練習問題(環境構築)
さて、2章の練習問題(環境構築)です。
CppUTestを使うつもりで作っていきます。
で、環境としては、流行のクラウドを使って、Linuxの環境を作ります。
この狙いは
「いつでもどこでも同じ環境にアクセスできること」
これに尽きます。このアクセスの良さは何物にも代えがたいですね。
どうも職場の環境だと古きよきビルドシステムとか、職人スキルとかに頼った開発体制・環境になりがちで、新参者がすぐに作業できる環境ってなかなか構築されないのです。
アンテナを張って、一見無関係な知識も得ていかないと。。。とは思いつつも、Web系の人とか、TDDバリバリやってますの人とか、その他諸々方面でご活躍のエンジニアの方の足元にも及ばないので、自分が興味を持ったことくらいはやってみようというスタンスでおります(汗)
では、環境構築に着手!
まず、クラウド環境として Codeanywhere を選択しました。
これはAndroid端末でGoogle Playをフラフラしてたら偶然見つけて、「お!?」っと思ったのがきっかけです。
無料で少し使ってみてそれなりの使い心地だったので選択しました。
有料プランにすれば$7/Monthくらいで仮想マシン(Devbox)が10個だったかな?使えます。
Step.1 Codeanywhereのトップページを開く
アカウントを持ってない方は「SingUp」、持ってる方は「Login」しましょう。
Step.2 Codeanywhereにログインする
こんな感じのメインページが表示されます。
Step.3 Devboxを追加する
左ペインのメニューから「Add DevBox」をクリックして、DevBoxのコンフィギュレーション画面を表示させます。
すると、コンフィギュレーション画面が開くので、今回は下図のように設定します(C++,Ubuntu、名前は自由です)。
「Create」ボタンをクリックすると、デプロイが開始されるのでしばし待ちます。
デプロイが完了すると、下図のようにDevboxが追加され、環境が使用可能になります。
図中右上はログインに使用しているアカウント情報が、中央上部ペインに表示されているテキストファイルには、DNSやサービス公開時に使用するURLなどが記載されています。
Step.4 コードをダウンロードして展開する
テキストに書かれているとおり、コードをダウンロードします。
GUIはないので、wgetで取ってくればいいと思います。
Step.5 ダウンロードしたコードでmakeする
ダウンロードしたコードの中のトップ階層でmakeします。
cabox@box-codeanywhere:~$ make
ここで、makeが失敗します。makeに失敗する理由は環境変数CPPUTEST_HOMEが設定されていないからです。
README.txt
そもそもCppUTestをインストールしていないので、当たり前ですね。
README.txtに従って、CppUTestをソースからインストールします。
Step.6 CppUTestのインストール
まず、何はともあれCppUTestの公式サイトへ行き、ソースコードを入手します。
GUIはないので、リンクを調べてwgetとかでいいんじゃないでしょうか。
例のごとく、configure,make,make installでGOです。
ただ、途中でCppUTest自体のユニットテストが実行されるので、結果がGREENであることは確認しましょう。
cabox@box-codeanywhere:~$ cd
cabox@box-codeanywhere:~$ tar zxf cpputest-3.6.tar.gz
cabox@box-codeanywhere:~$ cd ~/cpputest-3.6
cabox@box-codeanywhere:~$ ./configure
cabox@box-codeanywhere:~$ make
cabox@box-codeanywhere:~$ make check
cabox@box-codeanywhere:~$ make tdd
cabox@box-codeanywhere:~$ sudo make install
Step.7 環境変数の設定
私の構築した環境には.bash_profileがなかったので、作りましたが、ログイン時に読み込まれるファイルでexportしておけば問題ないかと。
cabox@box-codeanywhere:~$ echo "export CPPUTEST_HOME=/home/cabox/cpputest-3.6" > ~/.bash_profile
cabox@box-codeanywhere:~$ source ~/.bash_profile
cabox@box-codeanywhere:~$ env | grep CPPUTEST_HOME
CPPUTEST_HOME=/home/cabox/cpputest-3.6
Step.8 コードのmake再び
Step.5で実施したとおりもう一度、ダウンロードしたコードの中のトップ階層でmakeします。
cabox@box-codeanywhere:~$ make
これが成功して、ユニットテストがGREENであれば、環境構築完了です。
少しつまづきましたが、簡単に構築できました。
そんなこんなで、まずは2章(環境構築)完了。
次は練習問題の本体にチャレンジ!
練習問題は次の課題があります。
-
環境を作ることと
- テストを追加すること
- テストを変更すること
最終更新:2014年12月17日 00:27