我应该使用std :: system编写单元测试的脚本部分吗?

马丁·巴

我处于针对C ++工具的单元测试的情况,其中部分测试需要实际运行test-commandline-tool(一旦测试工具结束,这将触发我可以在测试中检查的内容) )。

我认为我使用的C ++单元测试框架是无关紧要的,我的问题与合法使用有关system("test_tool.exe ...")似乎系统 不在C ++开发人员的首选工具列表中(通常,恕我直言,恕我直言)。

那么,system已知可以在单元测试中成功使用吗?在UT环境中使用它执行众所周知的工具时,我应该期望出现任何问题吗?

马特·彼得森(Mats Petersson)

对我来说,这是一种可以接受的用法system-但您需要注意“如何检查test_tool是否执行了将要执行的操作。

但是,希望您的整个测试系统具有合理的安全性,因此,恶意用户应该比system在随机应用程序中普遍使用而成为问题

当然,编写使用CreateProcess或而不是的“更少邪恶”变体的代码也并不难system使用此功能还可能会给您带来更多的灵活性,并可以控制新启动的进程-例如,您可以监视该进程,并告知该进程何时完成以及退出时的状态,包括检测该退出是否正常或崩溃。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我应该使用名称空间std吗?

来自分类Dev

我应该只使用 std::vector 吗?

来自分类Dev

我应该编写控制器或服务层或两者的单元测试吗?

来自分类Dev

我应该编写单元测试来检查@NonNull合同吗?

来自分类Dev

我应该使用std :: shared指针传递指针吗?

来自分类Dev

我应该将printf与std :: cin混合使用吗?

来自分类Dev

我应该对并发进行单元测试吗?

来自分类Dev

我应该对每段代码进行单元测试吗

来自分类Dev

我应该对引导程序进行单元测试吗?

来自分类Dev

我应该对并发进行单元测试吗?

来自分类Dev

我应该使用数据库模拟进行单元测试吗

来自分类Dev

我应该使用数据库模拟进行单元测试吗

来自分类Dev

在单元测试中使用休眠实体是不好的做法,我应该模拟它们吗?

来自分类Dev

我应该对一组指针使用std :: set还是std :: unordered_set吗?

来自分类Dev

我应该在返回std :: vector的函数上使用std :: move吗?

来自分类Dev

我应该在返回std :: vector的函数上使用std :: move吗?

来自分类Dev

为单元测试编写模拟应该单独提交吗?

来自分类Dev

使用ODataQueryOptions编写单元测试

来自分类Dev

std :: queue我应该缩小以适合吗?

来自分类Dev

使用std :: map时,我应该重载operator ==作为键类型吗?

来自分类Dev

我应该使用operator + =而不是operator +来串联std :: string吗?

来自分类Dev

我应该使用 std::cerr 和 exit() 而不是抛出异常吗?

来自分类Dev

单元测试-当实例化发生变化时,我可以/应该使用setUp和tearDown吗?

来自分类Dev

我应该使用纯单元测试还是集成测试来测试命令模式?

来自分类Dev

我应该在单元测试时从正在测试的类中调用方法吗?

来自分类Dev

我应该使用继承的测试吗?

来自分类Dev

我应该使用参考吗?

来自分类Dev

我应该使用LightOpenID吗?

来自分类Dev

我应该使用Lua吗?

Related 相关文章

  1. 1

    我应该使用名称空间std吗?

  2. 2

    我应该只使用 std::vector 吗?

  3. 3

    我应该编写控制器或服务层或两者的单元测试吗?

  4. 4

    我应该编写单元测试来检查@NonNull合同吗?

  5. 5

    我应该使用std :: shared指针传递指针吗?

  6. 6

    我应该将printf与std :: cin混合使用吗?

  7. 7

    我应该对并发进行单元测试吗?

  8. 8

    我应该对每段代码进行单元测试吗

  9. 9

    我应该对引导程序进行单元测试吗?

  10. 10

    我应该对并发进行单元测试吗?

  11. 11

    我应该使用数据库模拟进行单元测试吗

  12. 12

    我应该使用数据库模拟进行单元测试吗

  13. 13

    在单元测试中使用休眠实体是不好的做法,我应该模拟它们吗?

  14. 14

    我应该对一组指针使用std :: set还是std :: unordered_set吗?

  15. 15

    我应该在返回std :: vector的函数上使用std :: move吗?

  16. 16

    我应该在返回std :: vector的函数上使用std :: move吗?

  17. 17

    为单元测试编写模拟应该单独提交吗?

  18. 18

    使用ODataQueryOptions编写单元测试

  19. 19

    std :: queue我应该缩小以适合吗?

  20. 20

    使用std :: map时,我应该重载operator ==作为键类型吗?

  21. 21

    我应该使用operator + =而不是operator +来串联std :: string吗?

  22. 22

    我应该使用 std::cerr 和 exit() 而不是抛出异常吗?

  23. 23

    单元测试-当实例化发生变化时,我可以/应该使用setUp和tearDown吗?

  24. 24

    我应该使用纯单元测试还是集成测试来测试命令模式?

  25. 25

    我应该在单元测试时从正在测试的类中调用方法吗?

  26. 26

    我应该使用继承的测试吗?

  27. 27

    我应该使用参考吗?

  28. 28

    我应该使用LightOpenID吗?

  29. 29

    我应该使用Lua吗?

热门标签

归档