問題タブ [unity-test-framework]
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 - 「unity」を使用して Mac (Lion) で C コードを単体テストするにはどうすればよいですか?
私は C 開発者ではなく、実際の C コードを実際に書くことについてはほとんど知らないということから始めましょう。Cコードのテストを書くために使用できるxUnitフレームワークを見つけるためにいくつかの調査を行ってきました.Unityのように見えることがわかったことに基づいています一緒に行きたい人です。簡単に思えますが、Unity の Web サイトから zip ファイルをダウンロードした後、どうすればよいかわかりません。通常の configure/make/make install がないようです。ただし、いくつかの rake タスクが同梱されていますが、いずれも「インストール」タスクのようには見えませんでした。最後の手段として、3 つのソース ファイルを自分のコードにコピーしようとしましたが (これが正しいことではないことを本当に願っています)、それを試みると、c ファイルを gcc でコンパイルしようとするとエラーが発生しますが、これは機能するはずだと思います。これが私のセットアップです:
これが mycode.c のソースです
実行すると、次のようgcc mycode.c
になります。
(gcc で unity.c をコンパイルしようとすると、同様のエラーが発生します)。これは、ユニティに同梱されているコードには、私が持っているものとは異なるコンパイラが必要であることを意味すると思います:
または、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 コードをテストできるようにしたいだけです。どんな助けでも大歓迎です。前もって感謝します!
c - bicode でヘッダーのみのライブラリを使用する
短い:biicodeでヘッダーのみのライブラリを使用するにはどうすればよいですか?
中: ブロックをビルドしようとすると、公開されたブロックの biicode.conf で依存関係を明示的に設定しようとしても、サンプル ディレクトリが含まれます。
Long : 私は、biicode を使用して、ユニティフレームワークを稼働させようとしています。
Unity は、ライブラリをコンパイルする必要がないため、C の単体テスト フレームワークとして優れています。独自のモックを作成する場合は、スクリプトを実行する必要さえありません.c
。コンパイルに含めるファイルが 1 つだけで、最高です。
git リポジトリを自分の biicode ブロックpaulbendixen/Unityに公開しました。インクルードするヘッダーに付随する c ファイル以外のコンパイル手順は必要ないため、他に何もする必要はありません。
ただし、ファイルを含めると、#include "paulbendixen/Unity/src/unity.h"
bii を実行するとエラーが発生しますcpp:build
。
これはexamplesフォルダーにあるため、単体テスト部分を使用したいだけの場合はコンパイルしないでください。[依存関係] を含めるように変更しunity.h = unity.c unity_internals.h
ても、どちらも役に立ちませんでした。
この問題は で解決されると確信しUnity/biicode.conf
ていますが、このファイルの完全な説明をどこにも見つけることができませんでした。
Unity ライブラリのシンプルさは、bii などのビルド システムに最適なはずですが、セットアップが非常に複雑に思えます。
それが役立つ場合は、単純なレイアウトと-r [github for throwtheswitch]
オプションを使用しました
unit-testing - 単体テストからLinqステートメントをカバーする方法は?
すべてUpdateEmployees()
の従業員データを更新するメソッドがあります。
そのメソッドの単体テストを書いている間、それはOrderBy()
ステートメントをカバーしていません。order by ステートメントのコード カバレッジを取得するにはどうすればよいですか。
Moq単体テストを使用しました。
unit-testing - IAR CSPY が、実行されたユーザー プログラムによって定義されたエラー コードを返すようにする方法はありますか?
IAR EWARM の cspybat を使用して、Unity を使用して組み込みコードの単体テストを実行しています。単体テストが成功したか失敗したかをビルド サーバーで簡単に判断できるようにしたいと考えています。単体テストが失敗した場合、CSPY がゼロ以外のエラー コードを返す方法はありますか? main() の戻り値を変更せずに変更しようとしました。エラーを強制的に返すために呼び出すことができる関数はありますか?
私の cspybat バッチ ファイルは次のようになります。
c - C で同じ UUT の関数をモックする方法
私は、Ceedling を使用して、モック用の CMock を使用して、既存の組み込み C コードベース (これに合わせて調整できます) で単体テストを学習しています。
ユニット内の 1 つの関数が同じユニット内の 2 番目の関数を呼び出す状況に遭遇しました。
foo_a()
テストの一部としてをテストしたくありませんfoo_b()
。関数自体foo_a()
をテストせずに、呼び出されたかどうかをテストできるようにモックするにはどうすればよいですか?foo_a()