問題タブ [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.
unit-testing - Visual Studio 2010 Professional で cxxtest を使用して単体テストを行うことはできますか?
Visual Studio 2010 Professional で cxxtest を使用して単体テストを行うことはできますか?
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
c++ - CXXテストからのC++関数へのアクセス
私が書いたクラスのCXXユニットテストをいくつか書いています。私はこれまでCXXテストを書いたことがありません(これも私が使用できる唯一のフレームワークです)。クラス内に含まれている関数を呼び出して、出力が期待どおりであることをテストできるようにしようとしていますが、これを実行できるかどうか、実行できる場合はどのように実行できるかわかりません。
CXXテストにヘッダーファイルをインクルードしましたが、GenerateHash関数にアクセスできません。
私も試しました:
どんな助けでも大歓迎です。
cxxtest - cxxtestについてのマクロ定義
テストを行うために、vc6でcxxtest4.0.3を使用しています。最初、コンパイラレポートstrcmpはstdのメンバーではありません。プロジェクト設定にCXXTEST_OLD_STDマクロを追加した後、コンパイラは「CXXTEST_STD(string)_s;」の行に文字列の型情報がないことを報告します。
マクロ定義をどのように設定すればよいですか?高度に感謝します。
サンプルコードは次のとおりです。
エラーメッセージは次のとおりです。
エラーC2039:'strcmp':は'std'のメンバーではありません
cxxtest\ testmain.hの行は、エラーメッセージを報告します。
c++ - テストするクラスが複雑な場合、単体テストを作成するにはどうすればよいですか?
VS 2010 を使用して C++ でバックギャモン ゲームを作成する際にTDDを採用しようとしています。
テスト ケースを作成するためにCxxTestをセットアップしました。
最初にテストするクラスは
関数IsSingleMoveValid()のテストを書きたいのですが、関数が正しく機能することをテストで証明する必要があると思います。残念ながら、テストするケースが非常に多く、いくつかのケースをテストしたとしても、いくつかのケースが抜け落ちる可能性があります。
何を指示してるんですか ?TDD はこれらの問題をどのように処理しますか?
build - Travis-CI で CxxTest を使用する
.travis.yml
これは、私の wxWidgets/CxxTest プロジェクトの依存関係のインストールを処理するmy の一部です。
すべてが正常にインストールされ、プロジェクトが正常にビルドされますがcxxtestgen
、 を呼び出すときが来ると、失敗します。
cxxtestgen
コマンドにアクセスできるようにしながら、CxxTest を Travis-CI にインストールするにはどうすればよいですか?
ここに私の github プロジェクトがあります: https://github.com/gbchaosmaster/nds-toolkit
c++ - CXXTEST コンパイラがコード ブロックを除外するための #define _KEYWORD_ はありますか?
オブジェクトに関数を一時的に配置して(単純な単体テストを超えて) 代替機能をテストする必要がありますが、単体テストを実行するためmain()
に関数をコメントアウトする必要があります。main()
#define _KEYWORD_
これを自動的に行うための CxxTestはありますか?
c++ - BOOST_FOREACH および cxxtest プラグインでのキャスティングの問題
私は現在、私が使用するプロジェクトに取り組んでいます:
- ブースト ライブラリ v1.39
- Eclipse CDT (Juno) と Cygwin
- CxxTest プラグイン: http://wiki.web-cat.org/WCWiki/EclipsePlugins/CxxTestPlugin
に関する問題に遭遇しました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 参照を受け入れます。
rvalue_probe
Boost はまた、反復されるコレクションが左辺値または右辺値であるかどうかを確認するためにキャストをいじり、それをコピーしたり式を再計算したりするのを回避します。
コンパイラは、次のように文句を言います。
私の場合、T は boost::unordered_map であり、どういうわけかこのキャストとヘルパーのオーバーロードの組み合わせが壊れています...
それを解決する方法は?
考えられる解決策を調べましたが、実際にそれらを実装する方法がわかりません。C++ の経験があまりありません。テストでこれらのコンパイル時のチェックを行うかどうかは少し気にしません。それを回避できます。したがって、3 つの方向のいずれかのヘルプが最も役立ちます。
ブーストの右辺値チェックを無効にし、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
これを無効にし
const_cast_helper
ます。テスト プログラム (テスト プロジェクトとは別のプロジェクト) を実行すると、コードがコンパイルされて期待どおりに実行され、const_cast のオーバーロードによって問題が発生しました。このエラーを修正する拡張機能を実装します。でやるべきかどうかはわかりませんが、
const_cast_helper
何rvalue_probe
の役にも立ちませんでした。
template <typename T> const_cast_helper(rvalue_probe<U>* value_to_cast) : cast_value(const_cast<U*>(value_to_cast)) { }
事前にご入力いただきありがとうございます。
c++ - Visual Studio 2010 CxxTest: テストが失敗するとビルドに失敗する
C++ プロジェクトでいっぱいのソリューションがあります。最初のプロジェクトが失敗した場合 (別名、終了ステータスが悪い)、プロジェクトのビルドと実行を停止したいと考えています。GNU Makefile では、これを簡単に実現できます。Visual Studio でこれを行うにはどうすればよいですか?
- ビルドの一部としてプログラムを実行する
- 終了ステータスを取得
- 終了ステータスが != 0 の場合はビルドに失敗します
Visual Studio 2010 以降の内部。