C言語のテストフレームワークって、動かすまでが大変だよねー。
なんて話をついった上でしてたところ、CSpecの存在を思い出したので、川西さんのところを見ながら学習中。
インストール
- 川西さんのgithubから一式を落とす(toshi-kawanishi/cspec · GitHub)
- 展開とインストール
$ cd <展開したフォルダ>/src
$ make
$ su
$ cp libcspec.a /usr/local/lib
$ cd ../inc
$ cp * /usr/local/include
ビルドと実行
$ gcc test.c -l:libcspec.a
$ ./a.out
結果
Describe:under_test_function() - it return sum arguments. OK: (under_test_function( 1, 2 )) == (3)
サンプルソール
川西さんのところのを試しました
#include <cspec.h> #include <cspec_output_verbose.h> int under_test_function( int a, int b ) { return a + b; } DESCRIBE(xml_long, "under_test_function()") { IT( "return sum arguments." ) { SHOULD_EQUAL( under_test_function( 1, 2 ), 3 ); } END_IT; } END_DESCRIBE; int main( int argc, char **argv ) { CSpec_Run( DESCRIPTION(xml_long), CSpec_NewOutputVerbose() ); return 0; }
まとめ
インストールからサンプルの実行まで数十分。
これなら十分に実用的ではないでしょうか?