我正在为 C++ 开发单元测试器,主要是为了练习,但我卡住了。
我希望它的工作方式如下:
- 它从定义的测试文件夹及其子文件夹中的所有 .hpp 文件中读取所有类和函数名称。这些具有链接到记录器的断言,该记录器输出带有测试结果的 HTML 文件。
- 它创建一个 .hpp 或 .cpp 文件,为每个测试类创建一个实例并运行其中的每个函数。
- 它编译在步骤 2 中创建的 .hpp/.cpp 文件。
- 它运行第 3 步的输出。
我有 1. 和 2.,但我在编译我创建的 .hpp 文件时遇到了问题。我最初想使用对 cl.exe 的简单调用进行编译,但事实证明这比我最初预期的问题更多。
你们中有人知道编译单个文件的好/简单方法吗? 我对 make/nmake 做了一些研究,但我不知道如何用它们来完成。
此外,如果这种进行单元测试的方法完全愚蠢,请告诉我。
一些信息: 我使用的是 Windows 7 64 位和 Visual Studio 2010
最佳答案
假设生成的something.cpp
文件包含#include "something.hpp"
,那么它应该只是一个cl something.cpp
的例子code> 你会得到一个 something.exe
,你可以用一些合适的方式运行它。
“调用对象上的每个函数”似乎有点奇怪——你怎么知道结果是否正确?如果我们有一个复杂的对象,它可能需要的不仅仅是创建来支持调用所有函数。你传递给每个函数的参数是什么?你怎么知道它应该返回什么?
关于c++ - 在没有 IDE 的情况下编译单个文件,c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14425390/