title: Documenting google tests
body: <p>I recently started using google tests to help me with testing procedures. It is working well but now my test cases are growing... </p>
  
  <pre class="lang-cpp prettyprint-override"><code>#include &lt;gtest/gtest.h&gt;
  
  TEST(MyTest, FirstTest) {
      // stuff
  };
  
  TEST(MyTest, SecondTest) {
      // stuff
  };
  
  TEST(MyTest, ThirdTest) {
      // stuff
  };
  
  int main(int argc, char* argv[]) {
      ::testing::InitGoogleTest(&amp;argc, argv);
      return RUN_ALL_TESTS();
  };
  </code></pre>
  
  <p>I would like to create a nice auto-generated documentation for all my tests that would be separated from the documentation of my program. For that purpose I commonly use doxygen but google tests use macros and it is unclear how doxygen can handle that. More precisely we have</p>
  
  <pre class="lang-cpp prettyprint-override"><code>#define TEST(test_case_name, test_name)\
    GTEST_TEST_(test_case_name, test_name, \
               ::testing::Test, ::testing::internal::GetTestTypeId())
  </code></pre>
  
  <p>I tried </p>
  
  <pre class="lang-cpp prettyprint-override"><code>/** 
  * @def TEST(MyTest, FirstTest)
  * @brief My first test
  */
  TEST(MyTest, FirstTest) {
      // stuff
  };
  </code></pre>
  
  <p>But it does not produces any output on doxygen...</p>