为DLL库配置Google测试项目

时间:2013-12-06 12:41:16

标签: c++ teamcity googletest

我有DLL插件,我想在TeamCity上测试和启动它:它包含.h和.cpp文件 测试这个dll的正确策略是什么:

1. Create a new Test Project in the same solution, configure 'include directory' to see sources and copy DLL project files to Test console project. In this case i have the same solution but in console mode, which i can test in normal way. But if my DLL project will change i need to synchronize source files.
2. Create export function in my DLL, like 'runTests()' which will produce XML file with results. TeamCity will process this? And how should it run this? And some stuff function appears in release DLL...

1 个答案:

答案 0 :(得分:1)

为了对我们的库进行单元测试,我们创建了独立的单元测试控制台可执行文件。这样:

  1. 对于每个库,我们创建一个控制台可执行文件,测试API中的每个方法。
  2. 每个源文件显然都添加到SCM中,因此修改文件会自动反映到单元测试程序中;
  3. 所有这些(源更新,编译,单元测试和文档生成)都添加到我们的CI服务器(Jenkins)中,以便所有单元测试程序的库始终从头开始重新编译;
  4. 库API的文档是使用此程序中的Doxygen使用片段构建的。这有一个很好的副作用:更改API将破坏您的单元测试。因此,您必须修复单元测试,以便您的文档始终是最新的。