2012-02-29 5 views
1

Cコードをテストし、テストフレームワークとしてチェックを使用することにします。 しかし、私はコードをコンパイルする方法を理解していないのですか? チュートリアルではすでにメイクファイルが非常に大きくなっていますが、それらをビルドする方法や必要なgccフラグについては説明していません。小切手でUnittestsを構築するにはどうすればよいですか?

私は簡単なテストをどのように実行できますか?

+0

私の答えはこちら、http://stackoverflow.com/a/20277301/1309262 –

答えて

0

個人的に私は小切手に精通していません。

CppUTestと読むことTDD For Embedded Cをお勧めします。 それは良い説明があり、CとC++の両方で動作します。

もう1つの選択肢はUnityです。これは、参考書籍にも記載されています。

+0

最後のバージョンは2009年のものです。機能が完備されているため、この時点ではバグは見つかりませんでした。メーリングリストの活動によってプロジェクトの活動を判断してください。 –

+0

私のメッセージで述べたように、私はCheckに精通していません。 IMHO最後のチェックイン日は、唯一のアプリケーションではなく、アプリケーションを選択する要因ですが、それは私のトップ10要因です。とにかく、私はバージョンの日付で私の発言を削除します、もし私が誰かを怒らせて申し訳ありません。 – EdwardH

0

"configure-> make-> make install"の後に "libcheck.a"というアーカイブファイルを取得できます。通常、libcheck.aは "/ usr/lib"または "/ usr/local/lib"にインストールされ、Gccはlibcheck.aの場所を自動的に見つけることができます。あなたがする必要があるのは、 "gcc -o test_add test_add.c -lcheck"のようにコンパイルコマンドラインに-lcheckオプションを追加することです。

チェックの横には、Cユニットテストのための他の多くのフレームワークもあります。 lcutcmockery

1

自動ツールを使用すると非常に簡単です。

if HAVE_CHECK 
check_PROGRAMS = bin/some_unit_tests 
bin_some_unit_tests_SOURCES = source1.c source2.c ... 
bin_some_unit_tests_CFLAGS = -g -pg -O2 -fprofile-arcs -ftest-coverage ... 
bin_some_unit_tests_LDFLAGS = -g -pg -no-install 
bin_some_unit_tests_LDADD = @[email protected] 
TESTS = bin/some_unit_tests 
TESTS_ENVIRONMENT = CK_FORK=yes 
CK_VERBOSITY = verbose 
CLEANFILES = some_unit_tests.log 
endif 
:あなたはユニットテストを構築するためにコンパイルするためにどのようなファイルや方法を指定

PKG_CHECK_MODULES([CHECK],[check >= 0.8.2],[have_check="yes"], 
    AC_MSG_WARN(['Check' unit testing framework not found. It would be impossible to run unit tests!"]) 
    [have_check="no"]) 

Makefile.amで:configure.acでは、ターゲットシステム上のチェックユニットテストフレームワークのexistanceをチェックします

その後、コマンドを発行してユニットテストを実行します。使用することにより

make check 

-pgフラグを使用すると、ユニットテストの実行からプロファイリング情報を取得できます。

0

ユニットテストのチェックを使用するオープンソースプロジェクトがあります。 1つの例はTORQUEです。あなたはsvnを使ってソースをチェックアウトすることができます。現在、あなたはトランクがユニットテストを見てみたいと思います - のsvnコのsvn:方法の一例のディレクトリのsrc/libに/ Libutils /テスト/ resizable_arrayで//svn.clusterresources.com/torque/trunk

ルック物事を設定する。 bsa2000の回答と同様に、makefileを変更するという点で多くの設定があります。

関連する問題