タグ付けされた質問 「googletest」

10
C ++単体テストフレームワークの比較[終了]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 C ++単体テストフレームワークの推奨事項に関するいくつかの質問が既にあることを知っていますが、フレームワークの1つを推奨するだけで(機能)比較に関する情報を提供しないため、すべての回答が役に立たなかった。 最も興味深いフレームワークは、CppUnit、Boost、および新しいGoogleテストフレームワークだと思います。誰かがまだ比較を行っていますか?

10
GTestとCMakeの使用を開始する方法
私は最近、C ++プロジェクトをコンパイルするためにCMakeを使用することで売却されました。今、私のコードのいくつかの単体テストを書き始めたいと思います。私はこれを支援するためにGoogle Testユーティリティを使用することを決定しましたが、開始するにはいくつかの助けが必要です。 一日中、さまざまなガイドや例を読んでいます。入門書、IBMの紹介、 SOに関するいくつかの質問(こことここ)や、他の情報源を忘れてしまいました。まだまだたくさんあると思いますが、どういうわけかまだ問題があります。 私は現在、最も基本的なテストを実装しようとしています。これは、gtestが正しくコンパイル/インストールされ、機能していないことを確認するためです。唯一のソースファイル(testgtest.cpp)は、前の回答からほぼ正確に取得されます。 #include <iostream> #include "gtest/gtest.h" TEST(sample_test_case, sample_test) { EXPECT_EQ(1, 1); } 関連付けられているCMakeLists.txtは次のとおりです。 cmake_minimum_required(VERSION 2.6) project(basic_test) # Setup testing enable_testing() find_package(GTest REQUIRED) include_directories(${GTEST_INCLUDE_DIR}) # Add test cpp file add_executable(runUnitTests testgtest.cpp ) # Link test executable against gtest & gtest_main target_link_libraries(runUnitTests ${GTEST_LIBRARY_DEBUG} ${GTEST_MAIN_LIBRARY_DEBUG}) add_test( NAME runUnitTests COMMAND …

3
GoogleTestで特定のテストケースを実行する方法
プロジェクトの関数/メソッドを記述しようとしていますが、実行するすべてのテストケースをユーザーに尋ねます。それは以下のように見えます...、 Test_Cases_1 |_TestNo1 |_TestNo2....so on Test_Cases_2 |_TestNo1 |_TestNo2....so on .... ....so on Test_Cases_N |_TestNo1 |_TestNo2....so on それで、今の課題は、プロジェクトの実行中に、実行したいすべてのテストケースを確認する必要があるということです。とを選択Test_Cases_1した場合Test_Cases_N。次に、これら2つのテストケースを実行し、その他すべてをから除外する必要がありTest_Cases_2 to ....ます。結果ウィンドウでも、Test_Cases_1との結果を確認したいと思いTest_Cases_Nます。 したがって、GoogleTestが表示される場合は、というメソッドがありtest_case_to_run_count()ます。しかし、すべてtest casesがTest_F()メソッドで登録されています。だから、私はたくさんの分析をしましたが、それでも解決策は見つかりませんでした。私を助けてください。

4
C ++プロジェクト構成(gtest、cmake、doxygenを使用)
私はプログラミング全般に慣れていないので、C ++で単純なベクトルクラスを作成することから始めることにしました。ただし、後でワークフローを変更するのではなく、最初から良い習慣を身に付けたいと思います。 現在、ファイルは2つvector3.hppとしかありませんvector3.cpp。このプロジェクトは、私がすべてに慣れるにつれてゆっくりと成長し始め(一般的な線形代数ライブラリーのようになります)、後で人生を楽にするために「標準」プロジェクトレイアウトを採用したいと思います。だから周りを見回した後、私はhppとcppファイルを整理しようとする2つの方法を見つけました、最初のものは: project └── src ├── vector3.hpp └── vector3.cpp そして二番目の存在: project ├── inc │ └── project │ └── vector3.hpp └── src └── vector3.cpp あなたはどちらを勧めますか、そしてその理由は? 次に、コードの単体テストにGoogle C ++ Testing Frameworkを使用したいと思います。かなり使いやすいようです。あなたは、例えば、私のコードでこれをバンドル示唆くださいinc/gtestまたはcontrib/gtestフォルダ?バンドルされている場合、fuse_gtest_files.pyスクリプトを使用して数やファイルを減らすか、そのままにしておくことをお勧めしますか?バンドルされていない場合、この依存関係はどのように処理されますか? テストを書くことになると、これらは一般的にどのように編成されますか?各クラス(test_vector3.cppたとえば)ごとに1つのcppファイルを作成することを考えていましたが、すべてを簡単に一緒に実行できるようにすべて1つのバイナリにコンパイルしましたか? gtestライブラリは一般にcmakeとmakeを使用してビルドされるので、私のプロジェクトもこのようにビルドするのは理にかなっていると思いましたか?次のプロジェクトレイアウトを使用することにした場合: ├── CMakeLists.txt ├── contrib │ └── gtest │ ├── gtest-all.cc │ └── gtest.h ├── docs │ └── Doxyfile …
123 c++  cmake  doxygen  googletest 

8
GoogleTest:テストをスキップする方法?
Google Test 1.6(Windows 7、Visual Studio C ++)を使用します。特定のテストをオフにするにはどうすればよいですか?(別名、テストの実行を防ぐにはどうすればよいですか)。テスト全体をコメント化する以外に何かできることはありますか?
119 googletest 

12
Linuxで共有ライブラリとしてgoogleTestを設定する方法
Debianは、gTest用のプリコンパイル済みパッケージを提供しなくなりました。フレームワークをプロジェクトのメイクファイルに統合することをお勧めします。しかし、メイクファイルをクリーンに保ちたいです。以前のバージョン(<1.6.0)のようにgTestを設定して、ライブラリに対してリンクできるようにするにはどうすればよいですか?



6
Google C ++ Testing Frameworkでカスタムメッセージを送信するにはどうすればよいですか?
コードの単体テストにはGoogleC ++テストフレームワークを使用しています。私が使用してC ++ユニットはモジュールのテストでのEclipse CDTを出力分析のため。 以前はCppUnitを使用していましたが、次のように呼び出すことができるマクロファミリ CPPUNIT * _MESSAGEがあります。 CPPUNIT_ASSERT_EQUAL_MESSAGE("message",EXPECTED_VALUE,ACTUAL_VALUE) また、カスタムメッセージを送信して出力をテストできます。 グーグルテスト出力にいくつかのカスタムテキストを含める方法はありますか? (できれば、グーグルテストを使用した自動ユニットテストのために既存のプログラムによって読み取られるデータへのメッセージを含めることができる方法。)
83 c++  googletest 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.