問題タブ [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.
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 to
testtest.c:(.text+0xd5): `CU_assertImplementation' への未定義の参照 collect2: ld が 1 つの終了ステータスを返しました
私はグーグルを使用しましたが、リンクに何か関係があると思いますか? しかし、私はそれから多くの助けを得ませんでした。
よろしくリッカード
c - ターミナルで main.c を CUnit ライブラリとリンクするには?
私は CUnit で作業しており、テスト駆動開発を学んでいます。
誰かがコンパイル部分で私を助けてくれませんか。
ターミナルでの私のコマンドは次のとおりです。
gcc -main.c -o メイン
次の出力が得られるため、これは明らかに正しくありません。
すべての機能について
main.c:(.text+0x1ee): CU_initialize_registry'
main.c:(.text+0x1f7): undefined reference to
CU_get_error' への未定義の参照 main.c:(.text+0x210): CU_add_suite'
main.c:(.text+0x22a): undefined reference to
CU_add_test' への未定義の参照 main.c:(.text+0x240): CU_add_test'
main.c:(.text+0x256): undefined reference to
CU_add_test' main への未定義の参照。 c:(.text+0x260): CU_set_output_filename'
main.c:(.text+0x265): undefined reference to
CU_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 を使用してプロセスを終了する必要があります。
c - stdout に書き込むコードをテストする方法は?
出力を検証するために、stdoutに出力する関数の CUnit でテストを作成する方法は?
テストする関数の例:
その単体テストは、「Hello world」がコンソールに出力されたことを何らかの方法で確認する必要があります。
どうすればいいですか?
linux - CUnit - makefile または gcc を使用してビルドしようとするとエラーが発生する
そこで、このWeb サイトにアクセスして、CUnit フレームワークをダウンロードしました。次のコマンドを使用して、フォルダーをダウンロードフォルダーにダウンロードしました。以下に示すように、多くのエラーが発生しています。どんな助けでも素晴らしいでしょう。私はLinux初心者です。
次に、次のエラーが表示されます。
また、次のようにGCCを使用して手動でコンパイルしようとしました
そして、このエラーが表示されます(.hファイルが存在するため、理由はわかりません):
以下は私のCUnitディレクトリのツリーです
c - ASSERT された変数の内容を表示する
ここでの簡単な質問: CUnit テストによって新たにテストされた変数の内容を表示することは可能ですか? Printf() はテスト中に表示されませんが、とにかく使用したくありません。たとえば、CUnitに次の結果を出力してもらいたい
(MQUEUE_PRI_MASK & フラグ)
出来ますか?以下は、CUnit の現在の出力です。
期待される結果 :
ありがとう!
c - C - CUnit でのユーザー入力を無視しますか?
答えを探し回っていますが、見つかりませんでした。問題は、私が C で書いたプログラムに対していくつかのテスト ケースを実行する必要があるということです。問題は、一部の関数がユーザー入力を取り込んで、テスト ケースが入力を待機するようにすることです。これは、私が望んでいるものではありません。
これは私のテストケースの1つです:
is_location_free() が false を返すため、これは機能しますが、関数内には、選択した場所が空くまで、ユーザーに新しい入力を求め続ける別の関数があります。
これは、シェルフに対する新しいユーザー入力を待機するターミナルでどのように表示されるかです。
すべてのユーザー入力を合計で無視する方法はありますか? または、テスト ケースで使用する将来のユーザー入力を定義する方法はありますか?
ありがとう!
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 プロジェクトを構成しました...
これをどのように解決できるかについて、何かアイデアを教えてください。ありがとう!
c - CUnit (未定義参照)
C と CUnit を使用していくつかの単純なスタック関数をテストし、「Makefile」を使用してプログラムを作成する必要がありますが、コンパイルしようとすると常に同じエラーが発生します。「make」コマンドを書くと、ubuntuのターミナルはこれを示します:
私が書いた.hは次のとおりです。
メインコードを含む.c:
そして clean_suite1、init_suite1 および testaTOP 関数:
プッシュ、ポップなど基本的な機能は書いてありますが問題ありません。それらは以前、私の別のプログラムで使用されていました。