のねのBlog

パソコンの問題や、ソフトウェアの開発で起きた問題など書いていきます。よろしくお願いします^^。

Visual StudioでC言語のコードカバレッジ(2)

Visual StudioC言語での単体テストの作り方

単体テストの作り方を書いていきます。
C言語のサンプルコードとして以下のURLのarctanのプログラムをお借りしました。
http://mail2.nara-edu.ac.jp/~asait/c_program/sample0/pi.htm#section2
①まずソースファイル(ここではSource1.cpp)をTestProject1のソースファイルの中へ追加します。
※ソースの拡張子は*.cのままで、使用できませんでした。従って、ソースの拡張子は、*c.を*.cppに変更して行ってください。

②つぎの、ソースファイルのメインをコメントアウトします。
Source1.cppの先頭へプリコンパイルヘッダーを追加します。
(プリコンパイルヘッダーを無効にして、stdafx.hを記載しなくてもテスト自体は問題ないです。)

#include "stdafx.h"


③最後に、コメントアウトしたメインの部分をコピーして、
単体テストのファイル(UnitTest1.cpp)の最後のほうに"TestMethod1()"という関数がありますので、その中へメインの内容を記述します。
※”TODO: テスト ロジックをここに追加してください”と書いてあるところです。
インクルードするヘッダーファイル、使用する関数のプロトタイプ宣言、デファイン文などをUnitTest1.cppの先頭へ記述してください。

#include

extern void ATAN(unsigned x, int m);
extern void Display(unsigned a
);
#define N 7 // 4*(N-1)=小数点以下の桁数 (16 進表示)


デフォルトのプロジェクトでは、共通言語ランタイムのサポートの設定が”安全なMSIL共通言語ランタイム サポート(/clr:safe)”になっています。このままですと、ビルド時エラーがでるかもしれません。
そこで”純粋MSIL共通言語ランタイムサポート(/clr:pure)”か”共通ランタイムサポート(/clr)”を選びます。ここでは(/clr:pure)を選びました。これでビルドします。


以上で単体テストの準備は完了です。