問題タブ [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.

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

unit-testing - VS 2010 で MSTest から別の単体テスト フレームワークに切り替える

Visual Studio 2010 には、組み込みのテスト ランナーを介した単体テスト用の快適なツールが多数用意されています。残念ながら、アンマネージ C++ コードベースに MSTest を使用することはできません。MSTest から Google.Test などに切り替えて、組み込みの Visual Studio テスト ランナーと統合することは可能ですか?

前もって感謝します!

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

c++ - vsinstr/vsperfmon を使用して実際のコード カバレッジを取得する方法

私のマイクロソフトベースの開発環境は次のようになります: - 10 個のプロジェクトに分割された巨大なネイティブ C++ コードベース - 各プロジェクトには依存するテスト プロジェクト (GoogleTest ユニット テスト) があり、テストするソースは単に参照されます。

vsinstr と vsperfmon (実行可能ファイルと dll を計測/監視するためのビジュアル スタジオ ツール) を使用してカバレッジ レポートを生成しましたが、期待したほど満足のいくものではありませんでした。テスト対象のソース (テスト スイート実行可能ファイル Sample_Project_Test.exe を計測しました)。

たとえば、次のようなメソッドがある場合:

単体テストは次のようになります。

add_ints.cpp の add-part のみが測定され、add2 は触れられていないため完全に削除されているように見えるため、100% のライン カバレッジが得られます。カバレッジ全体が間違っていることを理解していない限り、これは正しくないようです?

0 投票する
10 に答える
107467 参照

c++ - Googleテストでの配列の比較?

Google テストで 2 つの配列を比較しようとしています。UnitTest++ では、これは CHECK_ARRAY_EQUAL を通じて行われます。Googleテストでどのようにしますか?

0 投票する
11 に答える
37137 参照

unit-testing - Qtにはどのユニットテストフレームワークを使用する必要がありますか?

クロスプラットフォームのGUIを必要とする新しいプロジェクトを立ち上げたばかりで、GUIフレームワークとしてQtを選択しました。

ユニットテストのフレームワークも必要です。約1年前まで、C ++プロジェクトには社内で開発された単体テストフレームワークを使用していましたが、現在は新しいプロジェクトにGoogleTestを使用するように移行しています。

QtアプリケーションにGoogleTestを使用した経験のある人はいますか?QtTest / QTestLibはより良い代替手段ですか?

プロジェクトのGUI以外の部分でQtをどれだけ使用したいかはまだわかりません。おそらく、QtベースのGUIへの小さなインターフェイスを備えたコアコードでSTL/Boostを使用することをお勧めします。

編集:多くの人がQtTestに傾いているようです。これを継続的インテグレーションサーバーと統合した経験のある人はいますか?また、新しいテストケースごとに個別のアプリケーションを処理する必要があると、多くの摩擦が発生するように思われます。それを解決する良い方法はありますか?Qt Creatorにはそのようなテストケースを処理する良い方法がありますか、それともテストケースごとにプロジェクトを用意する必要がありますか?

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

c++ - GoogleMock - マッチャーと MFC\ATL CString

この質問は Google グループで行いましたが、こちらの方が回答が早いと思います。

Google のモッキング フレームワークを使用してコードをテストしようとしています。私も彼らのテストフレームワークを利用しています。私はVC9でコンパイルしています。MFC\ATL CString である引数の一致に問題があります。GMock は、オブジェクトが等しくないと言い、ポインター アドレスで評価しているように見えます。私がモックしようとしているメソッドは、次のように構成されています。

したがって:

私の期待を設定するとき、私は次の比較を行っています:

次のようなマッチャーのさまざまな組み合わせを試しました。

上記の呼び出しのいずれでも同じ結果が得られました。他の誰かがこの問題に遭遇しますか?

これは出力です:

Google Mock は次の 2 つの期待値を試しましたが、一致するものはありませんでした:

アダム

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

eclipse - OSXでEclipseを使用してGoogleTest(gtest)をセットアップする

Mac OS XのEclipseで動作するようにGoogleTestを設定する手順は何ですか?READMEの指示に従って、XCodeからフレームワークとしてgtestをコンパイルしてインストールしました。

ここで、Eclipseでgtestを使用したいと思います。現在、正常にコンパイルされますが、ビルド中に失敗します。EclipseはXCodeのようにフレームワークの概念を使用しておらず、別のリンクアプローチが必要だと思いますが、ビルド中にどのファイルにリンクする必要があるかわかりません。

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

qt - Qt および google test とのライブラリ リンクを強制する

Google テストを使用して Qt(c++) アプリケーションのテスト スーツを作成しようとしています。主な問題は、アプリケーションが 1 つのメイン プログラムとさまざまな共有ライブラリで構成されていることです。gcov/lcov (動的ライブラリでは動作しません) を使用してコード カバレッジを実行しようとするまで、すべてが正常に機能していたので、すべての .pro ファイルを変更して、次を使用して静的 lib コンパイルを行いました。

問題は、Google テスト テスト アプリケーションが次のようなものであることです。

したがって、実行時にリンケージを検出します。つまり、ここでテストアプリケーションをコンパイルすると、警告や問題を示すものは何も表示されず、テストアプリケーションを実行すると、何も見つからないため 0 テストが実行されます。

私の解決策(迷惑なものをやめる)は、偽のパブリック静的メンバーのテストに使用される各クラスで定義し、その上でメインのテストアプリケーションの操作を行うことです:

そのため、アプリケーションでそのライブラリのリンクを強制できます。

また、gcc でそのようなことを行うオプション -u を見つけましたが、機能していないようです。コンパイル時にシンボルが検出されない場合、静的ライブラリのリンクを強制する方法を誰かが持っていますか?

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

visual-studio - msxml4 を含めた後、gtest の出力が Visual Studio の出力ウィンドウに表示されない

Visual Studio 8 ですべてのセットアップと実行を gtest しました。

ビルドに msxml 4.0 を含めましたが、テスト出力がビジュアル スタジオの出力ウィンドウに表示されません。

  • コマンド ラインからアプリケーションを起動すると、アプリケーションが実行され、正しい結果が返されます (dll の欠落はありません)。
  • インクルードセクションをコメントアウトするとすべてが正常に戻るため、msxml4.dll に絞り込みました。

私の制御を超えた理由で、次のように dll を含めています。

どんなアイデア/提案も大歓迎です。ありがとう。

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

c++ - Google テストと Visual Studio 2010 RC

VS 2010 RC でgtest 1.4.0をビルドしようとした人はいますか?
ビルドしようとすると、約 400 のエラーが発生します。前もって感謝します。

0 投票する
3 に答える
49452 参照

c++ - google-test: コード カバレッジ

Google テスト フレームワークを使用したテストでコード カバレッジを取得することは可能ですか?