c++ - 在没有 IDE 的情况下编译单个文件,c++

标签 c++ visual-studio-2010 unit-testing compilation

我正在为 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

最佳答案

假设生成的something.cpp文件包含#include "something.hpp",那么它应该只是一个cl something.cpp的例子code> 你会得到一个 something.exe,你可以用一些合适的方式运行它。

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

关于c++ - 在没有 IDE 的情况下编译单个文件,c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14425390/

相关文章:

c++ - __REQUIRED_RPCNDR_H_VERSION__

c++ - 自动依赖生成

c++ - 对文件使用 fopen 时,matlab 在没有转储文件的情况下崩溃

C++ VS2010 在项目-> 属性中没有链接器

c# - 在没有用户输入的情况下将 View 中的信息插入到另一个表中

c++ - 在opencv中使用pow将每个数组元素提升为电源生成错误

c# - 如何知道在发布时构建的 .net 进程中挂起的方法

.net - 如何在 Moq 中调用作为参数传递的谓词?

java - Mockito 无法模拟 Rest API 调用

java - Apache Beam TestStream finalPane 未按预期触发