GGG

プログラミング言語やソフトウェア開発について思ったことを書いてます

初めてのユニットテストフレームワーク

最近ユニットテストフレームワークが使えるようになった。

いや、使えるようにした。

 

Visual Studio単体テストフレームワーク

VS 2012 pro 同梱版なので単体テストしかできない。

ないよりはマシか・・・。

codezinを参考にして、ほぼ解決できた。

たとえば、テスト実施直前とテスト実施後に呼び出したいコードがあれば・・・

なんてのは役にやった。COMとかで。

 

ちょっと注意点は、CString でLNK2019エラーに陥った。

 

CStringよりも今はstd::stringを使うのだが

過去資産やMFCのリソース取得はCString。

これ関連でテストコード書くと上記のリンクエラーになっちゃうので

調べてみた。

 

 

〇解決

stdafx.h に下記のinclude を定義したらビルドできた。

 

#include <afxwin.h>         // MFC のコアおよび標準コンポーネント

#include <afxext.h>         // MFC の拡張部分

#include <afxdisp.h>        // MFC のオートメーション クラス

#include <afxdtctl.h> // MFCInternet Explorer 4 コモン コントロール サポート

#ifndef _AFX_NO_AFXCMN_SUPPORT

#include <afxcmn.h> // MFCWindows コモン コントロール サポート

#endif // _AFX_NO_AFXCMN_SUPPORT

 

UnitTestプロジェクトでのプロパティにて

構成プロパティ -> 全般 

MFCの使用 : 共有DLLでMFCを使用

 

テストコード書くのはいいんだけど、

書くことが目的にならないようにしないと・・。

意味のあるテストコードを書かないとごみ以下だな。

気を付けよう。

 

>参考

ユニットテスト・フレームワーク一覧 - Wikipedia

C++ 用の Microsoft 単体テスト フレームワークを使用した C++ 用単体テストの記述

codezine.jp

 

appkitbox.com

dev.classmethod.jp

www.techmatrix.co.jp