C-测试主要功能的最简单方法是什么?

用户名

人们将如何测试整个程序?到目前为止,我唯一能想到的是:

我可以编译二进制文件并在其上运行测试套件,但这将需要一种独立于系统的方式在C中进行调用,这是基于其他 问题的噩梦我可能会想出Boost.Process,但Boost目前不是依赖项,因此我宁愿不添加它只是为了进行测试。

或者,使用下面的一些预处理器内容(未经测试),我也许可以重命名该main函数,使其在头文件中定义,并将其包括在测试套件中。

#ifdef TEST_MAIN
#include "progname.h"
int main_test(...){
#else
int main(...){
#endif

这是必需的还是有更明显的方法来解决?如果有关系,我正在使用CMake和Check。

o11c

在过程中的测试工具方面停止思考,你只是了麻烦。

相反,告诉您的构建系统使用进程外方法,例如perl中的TAPTAP是一个接口,但该线束的默认实现是prove(1)

TAP可在任何类型的可执行文件上运行,包括shell脚本,perl脚本和刚刚编译的二进制文件。您很可能需要在主要可执行文件周围编写某种Shell(或其他语言)脚本。为测试套件需要一些外壳(例如MinGW)完全可以,这不会影响程序的运行时依赖关系。

...

就是说,您可以只main用一行包装real_main无需预处理器。但是请注意,即使您自己的代码很干净,C库中还是有很多全局变量。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Linux上的c ++ / Qt中触发并忘记线程的最简单方法是什么?

来自分类Dev

在C ++中获得Python的defaultdict行为的最简单方法是什么?

来自分类Dev

解析C ++进行代码生成的最简单方法是什么?

来自分类Dev

在C ++ 03中模拟最简单的方式来限制复制/分配操作的最简单方法是什么?

来自分类Dev

C ++ OpenCV:应用二维卷积的最简单方法是什么

来自分类Dev

Haskell主要功能

来自分类Dev

在C中仅显示浮点数25.50的最简单方法是什么?

来自分类Dev

OCaml的主要功能

来自分类Dev

没有主要功能的编译/测试Haskell

来自分类Dev

我的C程序从配置中接收一些文件路径的最简单方法是什么?

来自分类Dev

C#:从INI中删除节及其键的最简单方法是什么

来自分类Dev

将包含主要功能的C程序包装到C ++类中,

来自分类Dev

不使用折叠表达式(C ++ 11)以正确的顺序处理模板参数包的值的最简单方法是什么

来自分类Dev

C#解析简单XML属性的最简单方法

来自分类Dev

在c ++中,扩展现有数据结构以包括信号量或类似方法的最简单方法是什么?

来自分类Dev

错误C3861:'_T':找不到标识符,无法将主要功能参数作为功能参数传递

来自分类Dev

为加密目的在C中生成伪随机数的最简单方法是什么?

来自分类Dev

如何在目标C中将参数发送到主要功能

来自分类Dev

C-测试主要功能的最简单方法是什么?

来自分类Dev

在主要功能之外创建队列的更优雅方法

来自分类Dev

要管理Ubuntu和Nginx,需要了解的主要功能是什么

来自分类Dev

在C ++中,从标准输入中提取整数的简单方法是什么?

来自分类Dev

我的主要功能有什么问题

来自分类Dev

可以在没有主要功能的情况下使用C程序吗?

来自分类Dev

如何在C ++中的主要功能内使用模板数据类型?

来自分类Dev

该程序在Java中的主要功能是什么|如何在main中调用line方法?

来自分类Dev

C#:从INI中删除节及其键的最简单方法是什么

来自分类Dev

C应用程序中的两个主要功能

来自分类Dev

带有主要功能的Scala测试

Related 相关文章

  1. 1

    在Linux上的c ++ / Qt中触发并忘记线程的最简单方法是什么?

  2. 2

    在C ++中获得Python的defaultdict行为的最简单方法是什么?

  3. 3

    解析C ++进行代码生成的最简单方法是什么?

  4. 4

    在C ++ 03中模拟最简单的方式来限制复制/分配操作的最简单方法是什么?

  5. 5

    C ++ OpenCV:应用二维卷积的最简单方法是什么

  6. 6

    Haskell主要功能

  7. 7

    在C中仅显示浮点数25.50的最简单方法是什么?

  8. 8

    OCaml的主要功能

  9. 9

    没有主要功能的编译/测试Haskell

  10. 10

    我的C程序从配置中接收一些文件路径的最简单方法是什么?

  11. 11

    C#:从INI中删除节及其键的最简单方法是什么

  12. 12

    将包含主要功能的C程序包装到C ++类中,

  13. 13

    不使用折叠表达式(C ++ 11)以正确的顺序处理模板参数包的值的最简单方法是什么

  14. 14

    C#解析简单XML属性的最简单方法

  15. 15

    在c ++中,扩展现有数据结构以包括信号量或类似方法的最简单方法是什么?

  16. 16

    错误C3861:'_T':找不到标识符,无法将主要功能参数作为功能参数传递

  17. 17

    为加密目的在C中生成伪随机数的最简单方法是什么?

  18. 18

    如何在目标C中将参数发送到主要功能

  19. 19

    C-测试主要功能的最简单方法是什么?

  20. 20

    在主要功能之外创建队列的更优雅方法

  21. 21

    要管理Ubuntu和Nginx,需要了解的主要功能是什么

  22. 22

    在C ++中,从标准输入中提取整数的简单方法是什么?

  23. 23

    我的主要功能有什么问题

  24. 24

    可以在没有主要功能的情况下使用C程序吗?

  25. 25

    如何在C ++中的主要功能内使用模板数据类型?

  26. 26

    该程序在Java中的主要功能是什么|如何在main中调用line方法?

  27. 27

    C#:从INI中删除节及其键的最简单方法是什么

  28. 28

    C应用程序中的两个主要功能

  29. 29

    带有主要功能的Scala测试

热门标签

归档