VisualGDB 中利用 SysprogsTestHooks 串接到 Test Explorer

VisualGDB 在建立 Unit Test Project 時會順便引入它自己提供的 Google Test Framework,用這個 Google Test Framework 便可以把測試結果串接到 VIsual Studio 中的 Test Explorer.
但問題是如果你不是用他的Google Test Framework,就無法串接 Test Explorer, 因此該如何讓 Google 官方的 Google Test 可以串接到 Test Explorer 呢? 可以參考這篇:
https://sysprogs.com/w/extending-the-visualgdb-test-system/
簡單說:
  1. 把 SysprogsTestHooks.cpp & SysprogsTestHooks.h 複製到 google test 的 source folder
  2. 修改 gtest.cpp,有四個地方要改(建議直接diff一下VisualGDB裡面的 gtest.cc 會更清楚)
    1. #include "SysprogsTestHooks.h"
    2. void TestInfo::Run()
      1. SysprogsTestHook_TestStartingEx((std::string(test_case_name()) + "_" + std::string(name())).c_str());
      2. SysprogsTestHook_TestEnded();
    3. void UnitTest::AddTestPartResult()
      1. SysprogsTestHook_TestFailed(NULL, message.c_str(), NULL);

結果:

0 comments