問題タブ [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 投票する
0 に答える
52 参照

c++ - Catch: 単体テスト用のコードをパーソナライズするために使用できる記号

Catch C++ テスト フレームワークを使用しています。私は別のテストコードファイルを持っています。

コード定義を変更するために使用できるビルド時に Catch が定義するシンボルはありますか?

例: いくつかの特別なコンストラクターを持つ必要がある構造体があるとしますが、特定のテスト ケースのためのテスト目的のみです。テスト コードをビルドするときにこのコンストラクターを使用できるようにしたいのですが、通常のビルドではこの関数を有効にしないでください。

使える記号は?

https://github.com/philsquared/Catch/blob/master/docs/configuration.mdを調べましたが、関連するものが見つかりませんでした。

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

c++ - std::transform c++ での致命的なエラー

foo インスタンスのベクトルを文字列に変換しようとしていますが、std::transform で致命的なエラーが発生しています。

dataの値があるとします。

コード:

デバッグ中は 、実装の行*__result = __unary_op(*_first)で停止し、 catch テスト フレームワークの FatalConditionHandler に移動します。私はキャッチテストとstd::transformの両方に不慣れです。誰かが問題の原因とその解決方法を説明できますか? どうもありがとう!tranformstl_algo.h

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

c++ - Catch C++ を使用した単体テストが main() に干渉している

私は単体テストに不慣れで、Catch フレームワークを使用することにしました。これは、1 つのヘッダー ファイルと統合するのが簡単に思えたからです。ただし、マルチファイルのバイナリ検索ツリー プログラムがあります (ファイルは次のとおりです: main.cpp、Tree.h、Tree.hxx、TreeUnitTests.cpp、catch.hpp)。main.cpp で int main() 関数をコメントアウトした場合にのみ、単体テストを実行できます。TreeUnitTests.cpp の '#define CATCH_CONFIG_MAIN' 宣言と競合していることは理解していますが、その宣言を含めないと単体テストを実行できません。単体テストを実行するたびに main() をコメントせずに両方を実行するにはどうすればよいですか?

これは私が使用しているヘッダー ファイルです: https://raw.githubusercontent.com/philsquared/Catch/master/single_include/catch.hpp

そして、私が見つけてガイドとして使用した Catch チュートリアル: https://github.com/philsquared/Catch/blob/master/docs/tutorial.md

参照用の関連ファイル: main.cpp:

TreeUnitTests.cpp:

(私のテストは実際のテストではなく、Catch フレームワークが正しく機能していることを確認するためのものです。これはメタ テストであると言えます)