問題タブ [googletest]
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++ - wxWidgets:マクロを使用せずにメインアプリケーションループに入らずにwxAppを初期化する方法は?
Google Test Frameworkを使用して、 wxWidgetsアプリケーションの単体テストを作成する必要があります。問題は、wxWidgetsがマクロIMPLEMENT_APP(MyApp)を使用して、アプリケーションのメインループを初期化して開始することです。このマクロは、int main()を含むいくつかの関数を作成します。googleテストフレームワークは、各テストにマクロ定義も使用します。
問題の1つは、最初のマクロが関数を作成するため、テストマクロ内からwxWidgetsマクロを呼び出すことができないことです。したがって、マクロを次のコードに置き換えることができることがわかりました。
これは良い代替品ですが、wxEntry()呼び出しは元のアプリケーションループに入ります。wxEntry()を呼び出さない場合でも、アプリケーションの一部が初期化されていません。
問題は、wxAppを実際に実行せずに実行するために必要なすべてを初期化して、その一部を単体テストできるようにする方法です。
c++ - C++ 単体テスト フレームワークの比較
C++ 単体テスト フレームワークの推奨事項に関して既にいくつかの質問があることは知っていますが、フレームワークの 1 つを推奨するだけで、(機能) 比較に関する情報を提供していないため、すべての回答は役に立ちませんでした。
最も興味深いフレームワークは、CppUnit、Boost、および新しい Google テスト フレームワークだと思います。誰もまだ比較をしたことがありますか?
c++ - Windows 用の「Google Test」( gtest ) のグラフィカル テスト ランナーはありますか?
優れた C++ 単体テスト フレームワークのようです。テストを実行するためのコンソール出力よりももう少し洗練されたものと、特定のテストを非常に簡単に実行できるものが欲しいだけです (gtest はあらゆる種類のテスト フィルタリングをサポートしているため)。
何もない場合は、おそらく自分で巻くでしょう
c++ - hudson で JUnit テスト出力 XML を解析できません
編集: この問題は、gtest 1.4.0 で Google によって修正されました。詳細については、元のバグ レポートを参照してください。
最近、C++ テスト フレームワークを gtest に切り替えました。現在使用できない優れた機能の 1 つは、JUnit スタイルの XML テスト レポートを生成する機能です。これは、hudson ビルド サーバーで読み取ることができます。
gtest テスト スイートによって生成された XML 出力はすべて正当に見えます。
また、ant ビルド スクリプトに JUnitReport タスクを追加しようとしましたが、これは正常に動作し、次のように XML を生成します。
問題は、JUnit テスト結果を公開するように ant に指示し、生のテスト結果 XML または ant JUnitReport タスクで生成されたコンパイル済み結果のいずれかを指すようにすると、常に hudson がそこにテスト結果が見つからないと不平を言うことです。
私は Java の専門家ではないので、ここで何が起こっているのかわかりません。また、JUnit XML がどのように見えるべきかの例を見つけることもできません。誰かが私を正しい方向に向けるのを助けることができますか?
c++ - Visual Studio 2005 で Google C++ Testing Framework (gtest) をセットアップする方法
Web サイトには文書化されておらず、人々はフレームワークのセットアップに問題を抱えているようです。サンプル プロジェクトのセットアップの段階的な紹介を誰かに見せてもらえますか?
c++ - C++でのユニットテストと小さな価値のあるクラスのモック
既存のC++プロジェクトの単体テストを設定しようとしています。
設定は次のとおりです。GoogleTestを含むGoogleMockを選択しました。Visual Studioソリューションに別のプロジェクト(テストと呼ばれる)を追加しました。テストするユニットは、メインと呼ばれる別のプロジェクトにあります。計画は、テストしたい各cppファイルをTestsプロジェクトに追加することです。Testsプロジェクトは、Mainからすべてのヘッダーファイルにアクセスできます。
Testsプロジェクトに1つのcppファイルを追加しましたが、コンパイルされますが、リンカーエラーが発生します。ほとんどは、CTimeValueと呼ばれるCOleDateTimeから派生したクラスが原因です。テスト対象のユニットには、値渡しのCTimeValueパラメーターを持つメソッドがあり、いくつかのCTimeValue属性も宣言しています。
UUTを個別にテストし、すべての依存関係にモックとフェイクを使用したいと思います。CTimeValueでそれを行う方法がわかりません。これは値として使用され、仮想メソッドは含まれていませんが、それでも非常に複雑であり、個別の単体テストに値します。
CTimeValueは、プロジェクトでこのような多くのクラスの1つにすぎません。これらのユーザー定義型を使用するクラスのテストを分離するにはどうすればよいですか?
乾杯、フェリックス
oracle - オラクルに裏打ちされたユニットテストmfcアプリケーション?
アプリケーション:オラクルに裏打ちされた MFC ユニット テスト フレームワーク:googletest ここでプロジェクトに追加されるコードのユニット テストを行います。ユニット テスト フレームワークは googletest です。私は単体テストが初めてです。googletest は私のアプリケーションに問題ありませんか? どうすれば始められますか?
c++ - gtest および boost との c++ 名前空間の競合
gtest/gtest.hとboost/math/distributions/poisson.hppの両方を含めると、
これら 2 つのライブラリの名前空間が衝突しないようにするにはどうすればよいですか?
c++ - コンソール入力クラスをユニットテストするにはどうすればよいですか?
私のアプリケーションの1つに、ユーザー入力を担当するクラスがあります。デフォルトの入力方法はコンソール(キーボード)です。それが正しいことを確認するために、いくつかの単体テストを作成したいと思います。
ユニットテストにgoogle-testフレームワークを使用することを検討しています。これにより、すべてのテストを簡単に自動化できます。ただし、コンソール入力のテストを自動化する方法がわかりません。
キーボードでのユーザー入力をシミュレートする方法はありますか?または、テスト入力を手動で入力する必要がありますか?または、おそらくリダイレクトstdin
しますか(コード内または単体テストの実行時にパイプによって)?
編集:ユーザー入力にGNUreadlineを使用することを計画しています。現時点では、このライブラリの入力ストリームをリダイレクトする方法がわかりません。おそらく、他の誰かがこれを経験したことがありますか?
c++ - 巨大なレガシーコードベースのMSTest
約10万行のネイティブ/アンマネージドレガシーc++コードを含む巨大なコードベースがあり、コードに単体テストを提供し、MSTestは現在の開発環境(TFS、VS 2010など)に完全に適合します。MSTestは元々マネージコードをテストすることを目的としていますが、アンマネージscの単体テストを作成することも可能です。
管理されていないコードに対するMSTestの使用に(後で)欠点はありますか?誰かがこれについて何か経験がありますか?
セカンドオピニオンはGoogle.Testを使用することですが、gtestフレームワークを環境に統合するためにVisualStudioアドインを作成する必要があります。
前もって感謝します!