問題タブ [catch-unit-test]

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 に答える
1332 参照

c - QTクリエーターで単体テストをキャッチ - メインの複数の定義

プロジェクトのテストに Catch 単体テスト フレームワークを使用したいと考えています。テストの書き方のチュートリアルを読みましたが、とても簡単でした。QTクリエーターで非常に単純なプロジェクトを作成しようとしましたが、これには次のファイルが含まれています:

main.cpp :

tests.cpp :

factorial.cpp :

factorial.h :

そして catch.hpp は単体テスト用の catch フレームワークです

私は C++ ではなく C でコーディングしています。拡張子「.cpp」は、拡張子「.c」を持つファイルでは機能しない catch が原因です。

もう 1 つのファイルがあります: testing.pro です。

Q

このファイルは QT 作成者によって生成されました。

OK、私の問題は、このプロジェクトをビルドしようとすると、「メインの複数定義」というエラーが発生することです。

わかった。main.cpp ファイルと tests.cpp にメインがあります。しかし、私はそれを機能させるために何をすべきかわかりません。私は自分の機能をテストできる、完全に機能するメインとテスト付きのファイルを備えたプロジェクトを持ちたいと思っています。私はほぼすべての場所を検索しました。QTクリエーターでどうにかしてプロジェクトを整理する必要があると思いますが、その方法がわかりません。私はそれがどのように機能するべきか分かりません。

アドバイスありがとう

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

boost-program-options - boost/program_options.hpp で Catch を使用できますか?

コマンド ライン引数を処理するために boost/program_options.hpp を使用するプログラムがあります。このプログラムに単体テストを追加したいのですが、Catchフレームワークは非常に魅力的です。ただし、プログラムへのコマンドライン引数を台無しにしているようです。

Catch を使用しながら、boost/program_options.hpp でコマンド ライン引数を処理するにはどうすればよいですか?

また、boost/program_options.hpp がプログラムのオプションを処理している場合、Catch を構成するにはどうすればよいですか?

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

c++ - Catch lib (単体テスト) と CTest (CMake) の統合

CMake test (Ctest) との Catch CatchLib統合の成功例を探しています。私が理解しているように、これはアプリケーションの出力を解析する必要がある追加の cmake スクリプトですか? 誰かがすでにこれを書いていますか?おそらくこれを共有しましたか?

==================================================

更新(解決策が見つかりました):

Catch と CTest の統合のために、 cmake スクリプトを CatchLib にコミットしました。これは、Fraser99 の cmake スクリプトの簡略版です。

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

c++ - Catch Lib の問題 - 匿名名前空間の再定義。の解き方

単体テストに Catch Lib を使用しています

以前は、ヘッダーを個別にテストし、TEST_CASE に問題はありませんでしたが、最終的にこれらすべてをプロジェクトに含めた後、次のような多くのエラーに直面しました。

誰かが私にこれが何を意味するのか説明できますか?

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

c++ - 「キャッチ」単体テスト フレームワーク - REQUIRE_THROWS_AS

"Catch" 単体テスト フレームワークを使い始めましたが、これまでのところ非常に優れています。私はVS組み込みのユニットテストフレームワークを非常に苦労して使用しました。

REQUIRE_THROWS_ASマクロが期待どおりに動作しないことに気付きました

ドキュメントから:

式の評価中に、指定された型の例外がスローされることを期待します。

書こうとすると

テストが失敗することを期待していますが、テストに合格したと表示されます。フレームワークにバグがありますか、それとも間違っていますか?

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

catch-unit-test - Catch を使用したテスト ケースの組み合わせ爆発の抑制

コンストラクターで 6 つのブール値の引数を取り、それらの引数の状態に基づいて計算を実行する単純なクラスがあるとします。

Catch を使用してすべてのケースを適切にテストしたい場合、64 個の個別の単体テストが必要になります。

さて、将来のある時点で、7 番目のブール引数を追加するとします。これで、私が書かなければならないテスト ケースの数は 2 倍の 128 になりました。

単一のテスト仕様から 2^n 個のテスト ケースをすべて自動的に "生成" するような方法で単体テストを作成する方法はありますか?