問題タブ [cxxtest]

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

unit-testing - Visual Studio 2010 Professional で cxxtest を使用して単体テストを行うことはできますか?

Visual Studio 2010 Professional で cxxtest を使用して単体テストを行うことはできますか?

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

c++ - cxxtest フレームワークと valgrind を使用して qt オブジェクトをテストする

cxxunitまたはその他の単体テスト フレームワーク ( QtTestLibを除く) を使用して qt ウィジェットをテストすることは可能ですか?

はいの場合、さらに 2 つの質問があります。

  1. どのように?
  2. valgrind を使用して単体テストを実行しているため、エラーが報告される可能性はありますか?
0 投票する
1 に答える
652 参照

c++ - テスト結果が表示されない場合のWeb-CATCxxTestEclipse GUI

EclipseでCxxTestフレームワークを使用してテストケースを実行しようとしています。このウェブサイトの指示に従った後-http://web-cat.cs.vt.edu/eclipse/cxxtest/

テストケースを作成することはできますが、実行すると、記事に示されているようにGUI(緑/赤のバー)が表示されません。CxxTestガイドを確認しましたが、このフラグ「--gui=Win32Gui」について言及されていました。誰かが私を助けてくれますか?Eclipse設定のどこにこのフラグを入力できますか?CxxTest用のWeb-CATプラグインを備えたEclipseCDT(3.6.2)を使用しています。make、gcc、g ++、gdbとともにcygwinをインストールしています。

ビルドの出力は次のとおりです。

ビルドターゲット:BankAccountTests.exe呼び出し:CygwinC++リンカーg++-o "BankAccountTests.exe" ./BankAccount.o ./runAllTests.o -lbfd -lz -lintl -libertyビルドターゲット:BankAccountTests.exe

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

c++ - CXXテストからのC++関数へのアクセス

私が書いたクラスのCXXユニットテストをいくつか書いています。私はこれまでCXXテストを書いたことがありません(これも私が使用できる唯一のフレームワークです)。クラス内に含まれている関数を呼び出して、出力が期待どおりであることをテストできるようにしようとしていますが、これを実行できるかどうか、実行できる場合はどのように実行できるかわかりません。

CXXテストにヘッダーファイルをインクルードしましたが、GenerateHash関数にアクセスできません。

私も試しました:

どんな助けでも大歓迎です。

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

cxxtest - cxxtestについてのマクロ定義

テストを行うために、vc6でcxxtest4.0.3を使用しています。最初、コンパイラレポートstrcmpはstdのメンバーではありません。プロジェクト設定にCXXTEST_OLD_STDマクロを追加した後、コンパイラは「CXXTEST_STD(string)_s;」の行に文字列の型情報がないことを報告します。

マクロ定義をどのように設定すればよいですか?高度に感謝します。

サンプルコードは次のとおりです。

エラーメッセージは次のとおりです。
エラーC2039:'strcmp':は'std'のメンバーではありません
cxxtest\ testmain.hの行は、エラーメッセージを報告します。

0 投票する
5 に答える
713 参照

c++ - テストするクラスが複雑な場合、単体テストを作成するにはどうすればよいですか?

VS 2010 を使用して C++ でバックギャモン ゲームを作成する際にTDDを採用しようとしています。

テスト ケースを作成するためにCxxTestをセットアップしました。

最初にテストするクラスは

関数IsSingleMoveValid()のテストを書きたいのですが、関数が正しく機能することをテストで証明する必要があると思います。残念ながら、テストするケースが非常に多く、いくつかのケースをテストしたとしても、いくつかのケースが抜け落ちる可能性があります。

何を指示してるんですか ?TDD はこれらの問題をどのように処理しますか?

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

build - Travis-CI で CxxTest を使用する

.travis.ymlこれは、私の wxWidgets/CxxTest プロジェクトの依存関係のインストールを処理するmy の一部です。

すべてが正常にインストールされ、プロジェクトが正常にビルドされますがcxxtestgen、 を呼び出すときが来ると、失敗します。

cxxtestgenコマンドにアクセスできるようにしながら、CxxTest を Travis-CI にインストールするにはどうすればよいですか?

ここに私の github プロジェクトがあります: https://github.com/gbchaosmaster/nds-toolkit

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

c++ - CXXTEST コンパイラがコード ブロックを除外するための #define _KEYWORD_ はありますか?

オブジェクトに関数を一時的に配置して(単純な単体テストを超えて) 代替機能をテストする必要がありますが、単体テストを実行するためmain()に関数をコメントアウトする必要があります。main()

#define _KEYWORD_これを自動的に行うための CxxTestはありますか?

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

c++ - BOOST_FOREACH および cxxtest プラグインでのキャスティングの問題

私は現在、私が使用するプロジェクトに取り組んでいます:

に関する問題に遭遇しましたconst_cast。私は高低を検索しましたが、私を助けることができる情報源をオンラインで見つけられませんでした. BOOST_FOREACHテストメソッド内で呼び出すと、問題が発生します。次のエラーが発生し続けます。

const_cast_helper

私は問題の分析を開始し、 const_cast 演算子がランタイム チェックの目的でオーバーロードされていることを発見しました。全体Dereferee::const_cast_helperとして、cxxtest 依存関係の一部である、const_cast 演算子のオーバーロードがあります。

このヘルパーは const_cast 演算子を定義解除します (!)

最後に const_cast 演算子を再導入します。

#define const_cast ::Dereferee::const_cast_helper

const_cast が呼び出されるたびに、このヘルパーの適切なコンストラクターが呼び出されるようにします。コンストラクターは、ポインター、参照、const ポインター、および const 参照を受け入れます。

ソースはこちら: https://github.com/web-cat/dereferee-with-cxxtest/blob/master/Dereferee/include/dereferee/const_cast.h

rvalue_probe

Boost はまた、反復されるコレクションが左辺値または右辺値であるかどうかを確認するためにキャストをいじり、それをコピーしたり式を再計算したりするのを回避します。

コンパイラは、次のように文句を言います。

私の場合、T は boost::unordered_map であり、どういうわけかこのキャストとヘルパーのオーバーロードの組み合わせが壊れています...

それを解決する方法は?

考えられる解決策を調べましたが、実際にそれらを実装する方法がわかりません。C++ の経験があまりありません。テストでこれらのコンパイル時のチェックを行うかどうかは少し気にしません。それを回避できます。したがって、3 つの方向のいずれかのヘルプが最も役立ちます。

  1. ブーストの右辺値チェックを無効にし、BOOST_WORKAROUND と foreach.hpp で定義されたリテラルで遊んでいます。

    BOOST_FOREACH_COMPILE_TIME_CONST_RVALUE_DETECTION BOOST_FOREACH_NO_RVALUE_DETECTION BOOST_FOREACH_NO_CONST_RVALUE_DETECTION BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION

  2. これを無効にしconst_cast_helperます。テスト プログラム (テスト プロジェクトとは別のプロジェクト) を実行すると、コードがコンパイルされて期待どおりに実行され、const_cast のオーバーロードによって問題が発生しました。

  3. このエラーを修正する拡張機能を実装します。でやるべきかどうかはわかりませんが、const_cast_helperrvalue_probeの役にも立ちませんでした。

template <typename T> const_cast_helper(rvalue_probe<U>* value_to_cast) : cast_value(const_cast<U*>(value_to_cast)) { }

事前にご入力いただきありがとうございます。

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

c++ - Visual Studio 2010 CxxTest: テストが失敗するとビルドに失敗する

C++ プロジェクトでいっぱいのソリューションがあります。最初のプロジェクトが失敗した場合 (別名、終了ステータスが悪い)、プロジェクトのビルドと実行を停止したいと考えています。GNU Makefile では、これを簡単に実現できます。Visual Studio でこれを行うにはどうすればよいですか?

  1. ビルドの一部としてプログラムを実行する
  2. 終了ステータスを取得
  3. 終了ステータスが != 0 の場合はビルドに失敗します

Visual Studio 2010 以降の内部。