問題タブ [cunit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3927 参照

c - CUnit : `CU_assertImplementation' への未定義の参照

cc -o test testtest.c -lcunitを使用してコンパイルしましたが、まだテストを適切に実行できません。彼らは何らかの理由でクラッシュします:)

私はプロジェクトに取り組んでおり、最近、テスト駆動型のアプローチを継続する必要があると確信しています。主な理由は、プロジェクト自体が成長しており、すべての機能が機能することを証明したいからです。

しかし、cunit のチュートリアルを行っているときに、いくつかの問題に遭遇しました。 http://cunit.sourceforge.net/doc/writing_tests.html

これは私のcunitテストファイルです:

コンパイルしようとすると、これらのエラーが発生します。

testtest.c:(.text+0x62): CU_assertImplementation への未定義の参照 CU_assertImplementation' testtest.c:(.text+0x9b): undefined reference totesttest.c:(.text+0xd5): `CU_assertImplementation' への未定義の参照 collect2: ld が 1 つの終了ステータスを返しました

私はグーグルを使用しましたが、リンクに何か関係があると思いますか? しかし、私はそれから多くの助けを得ませんでした。

よろしくリッカード

0 投票する
0 に答える
905 参照

c - ターミナルで main.c を CUnit ライブラリとリンクするには?

私は CUnit で作業しており、テスト駆動開発を学んでいます。

誰かがコンパイル部分で私を助けてくれませんか。

ターミナルでの私のコマンドは次のとおりです。

gcc -main.c -o メイン

次の出力が得られるため、これは明らかに正しくありません。

すべての機能について

main.c:(.text+0x1ee): CU_initialize_registry' main.c:(.text+0x1f7): undefined reference toCU_get_error' への未定義の参照 main.c:(.text+0x210): CU_add_suite' main.c:(.text+0x22a): undefined reference toCU_add_test' への未定義の参照 main.c:(.text+0x240): CU_add_test' main.c:(.text+0x256): undefined reference toCU_add_test' main への未定義の参照。 c:(.text+0x260): CU_set_output_filename' main.c:(.text+0x265): undefined reference toCU_automated_run_tests への未定義の参照 'main.c:(.text+0x26a): CU_get_error への未定義の参照CU_cleanup_registry' main.c:(.text+0x26f): undefined reference to' collect2: ld が 1 つの終了ステータスを返しました

libcunit.a を gcc にリンクする方法を知る必要があります。

gcc -o main main.c -L/usr/local/lib -Wl,-Bstatic -lcunit -Wl,-Bdynamic を試しました

それはcomileを実行し、./mainを実行すると、100%のCPUを(継続的に)使用し、結果がありません!!!!
ctrl + c を使用してプロセスを終了する必要があります。

0 投票する
1 に答える
6418 参照

c - stdout に書き込むコードをテストする方法は?

出力を検証するために、stdoutに出力する関数の CUnit でテストを作成する方法は?

テストする関数の例:

その単体テストは、「Hello world」がコンソールに出力されたことを何らかの方法で確認する必要があります。

どうすればいいですか?

0 投票する
1 に答える
3619 参照

linux - CUnit - makefile または gcc を使用してビルドしようとするとエラーが発生する

そこで、このWeb サイトにアクセスして、CUnit フレームワークをダウンロードしました。次のコマンドを使用して、フォルダーをダウンロードフォルダーにダウンロードしました。以下に示すように、多くのエラーが発生しています。どんな助けでも素晴らしいでしょう。私はLinux初心者です。

次に、次のエラーが表示されます。

また、次のようにGCCを使用して手動でコンパイルしようとしました

そして、このエラーが表示されます(.hファイルが存在するため、理由はわかりません):

以下は私のCUnitディレクトリのツリーです

0 投票する
1 に答える
496 参照

c - ASSERT された変数の内容を表示する

ここでの簡単な質問: CUnit テストによって新たにテストされた変数の内容を表示することは可能ですか? Printf() はテスト中に表示されませんが、とにかく使用したくありません。たとえば、CUnitに次の結果を出力してもらいたい

(MQUEUE_PRI_MASK & フラグ)

出来ますか?以下は、CUnit の現在の出力です。

期待される結果 :

ありがとう!

0 投票する
2 に答える
199 参照

c - C - CUnit でのユーザー入力を無視しますか?

答えを探し回っていますが、見つかりませんでした。問題は、私が C で書いたプログラムに対していくつかのテスト ケースを実行する必要があるということです。問題は、一部の関数がユーザー入力を取り込んで、テスト ケースが入力を待機するようにすることです。これは、私が望んでいるものではありません。

これは私のテストケースの1つです:

is_location_free() が false を返すため、これは機能しますが、関数内には、選択した場所が空くまで、ユーザーに新しい入力を求め続ける別の関数があります。

これは、シェルフに対する新しいユーザー入力を待機するターミナルでどのように表示されるかです。

すべてのユーザー入力を合計で無視する方法はありますか? または、テスト ケースで使用する将来のユーザー入力を定義する方法はありますか?

ありがとう!

0 投票する
2 に答える
705 参照

c - 共有ライブラリの読み込み中にエラーが発生しました - Netbeans での CUnit の使用

私は Cygwin と CUnit を使用する初心者です。CUnit と Netbeans を使用していくつかの単体テストを開発する必要があり、次のチュートリアルに従いました。

https://netbeans.org/kb/docs/cnd/c-unit-test.html?print=yes#project

最後に、最初のサンプル テストを実行しようとしたときに、エラーが発生しました。

これが私が持っているCygwinのバージョンと関係があるかどうかはわかりません.私はWindows 7 Enterprise 64ビット版を実行しているコンピューターを持っています. Cygwin 64 ビット版を使用するように C プロジェクトを構成しました...

これをどのように解決できるかについて、何かアイデアを教えてください。ありがとう!

0 投票する
1 に答える
896 参照

c - CUnit (未定義参照)

C と CUnit を使用していくつかの単純なスタック関数をテストし、「Makefile」を使用してプログラムを作成する必要がありますが、コンパイルしようとすると常に同じエラーが発生します。「make」コマンドを書くと、ubuntuのターミナルはこれを示します:

私が書いた.hは次のとおりです。

メインコードを含む.c:

そして clean_suite1、init_suite1 および testaTOP 関数:

プッシュ、ポップなど基本的な機能は書いてありますが問題ありません。それらは以前、私の別のプログラムで使用されていました。