1

我正在为 C++ 开发一个单元测试器,主要是为了练习,但我被困住了。

我希望它的工作方式如下:

  1. 它从定义的测试文件夹及其子文件夹中的所有 .hpp 文件中读取所有类和函数名称。这些断言链接到一个记录器,该记录器输出带有测试结果的 HTML 文件。
  2. 它创建一个单独的 .hpp 或 .cpp 文件,该文件创建每个测试类的一个实例并运行其中的每个函数。
  3. 它编译在步骤 2 中创建的 .hpp/.cpp 文件。
  4. 它运行步骤 3 的输出。

我有 1. 和 2. 失败,但我无法编译我创建的 .hpp 文件。我最初想使用对 cl.exe 的简单调用进行编译,但事实证明这比我最初预期的要困难得多。

你们中有人知道编译单个文件的好/简单的方法吗?我已经对 make/nmake 进行了一些研究,但我不知道如何使用它们来完成这项工作。

另外,如果这种进行单元测试的方法完全愚蠢,请告诉我。

一些信息:我正在使用 Windows 7 64 位和 Visual Studio 2010

4

1 回答 1

0

假设生成的something.cpp文件包含#include "something.hpp",那么它应该只是一种情况,cl something.cpp并且您会得到一个something.exe,您可以以某种合适的方式运行它。

“调用对象上的每个函数”似乎有点奇怪——你怎么知道结果是否正确?如果我们有一个复杂的对象,它可能需要的不仅仅是创建来支持调用所有函数。您将哪些参数传递给每个函数?你怎么知道它应该返回什么?

于 2013-01-20T14:24:36.427 回答