带有 Visual C++ 单元测试的 Doxygen

Doxygen with Visual C++ unit tests

我正在尝试用 doxygen 记录一些 VC++ 单元测试 classes。由于宏形成的 classes 和方法,doxygen 无法检测到 class 或方法声明,至少在默认情况下是这样。

有没有什么方法可以让 doxygen 有办法检测给定语言的非传统声明?如果没有,我能否以某种方式手动将链接引入 dox,以便我仍然可以交叉引用测试 classes/methods?

在 doxygen 配置文件中有一个名为 MACRO_EXPANSION 的标签。您可以尝试将其设置为 YES,这应该允许 doxygen 检测宏定义。

doxygen可以扩展宏,在doxygen配置中设置MACRO_EXPANSIONYES。然后 Doxygen 将展开所有宏。您还可以将 EXPAND_ONLY_PREDEF 设置为 YES 并传递 doxygen 应使用 PREDEFINEDEXPAND_AS_DEFINED.

扩展的宏列表

查看此处了解更多信息:http://www.doxygen.nl/manual/preprocessing.html

根据我的经验,启用 MACRO_EXPANSION 不适用于 CppUnitTest 框架。但是,手动替换宏:

class YourClassName: public TestClass<YourClassName>

确实有效果。