私は C 開発者ではなく、実際の C コードを実際に書くことについてはほとんど知らないということから始めましょう。Cコードのテストを書くために使用できるxUnitフレームワークを見つけるためにいくつかの調査を行ってきました.Unityのように見えることがわかったことに基づいています一緒に行きたい人です。簡単に思えますが、Unity の Web サイトから zip ファイルをダウンロードした後、どうすればよいかわかりません。通常の configure/make/make install がないようです。ただし、いくつかの rake タスクが同梱されていますが、いずれも「インストール」タスクのようには見えませんでした。最後の手段として、3 つのソース ファイルを自分のコードにコピーしようとしましたが (これが正しいことではないことを本当に願っています)、それを試みると、c ファイルを gcc でコンパイルしようとするとエラーが発生しますが、これは機能するはずだと思います。これが私のセットアップです:
src/
mycode.c
unity.c
unity.h
unity_internals.h
これが mycode.c のソースです
/* mycode.c */
#include "unity.h"
void test_sample(void)
{
TEST_ASSERT_EQUAL_INT(0, 0);
}
実行すると、次のようgcc mycode.c
になります。
Undefined symbols for architecture x86_64:
"_main", referenced from:
start in crt1.10.6.o
"_UnityAssertEqualNumber", referenced from:
_test_sample in ccyHByv6.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
(gcc で unity.c をコンパイルしようとすると、同様のエラーが発生します)。これは、ユニティに同梱されているコードには、私が持っているものとは異なるコンパイラが必要であることを意味すると思います:
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.9.00)
または、unity が 64 ビット プロセッサと互換性がない可能性があります... (私は 2.4 GHz Intel Core 2 Duo プロセッサを搭載した Mac OS 10.7.3 で実行しています。 XCode バージョン 4.3 (4E109) と XCode 用のコマンド ライン ツールを入手しました) この時点で、私はストローをつかんでいるだけで、頭がいっぱいです。
私の質問は、Unity などのサードパーティの C ライブラリを取得して、C コードで利用できるようにするための正しいプロセスは何ですか? Python や Ruby のようなものをインストールする必要がありますか、それとも Java などのようなものをパスに追加する必要がありますか? Unityのコードを私の仕事に落とし込むだけではいけませんか? 私は何か間違ったことをしていますか、それともUnityですか、それともその両方ですか? Unity を使用して C コードをテストできるようにしたいだけです。どんな助けでも大歓迎です。前もって感謝します!