gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 09:20:45 24 4
gpt4 key购买 nike

我的情况是我有一个 C++ 工具的单元测试,其中部分测试需要实际运行一个测试命令行工具(这将触发一些我可以在测试后检查的东西-工具已结束)。

我认为我使用的 C++ 单元测试框架非常无关紧要,我的问题与 system("test_tool.exe ...") 的合法使用有关——它会 seemsystem isn't在 C++ 开发人员的顶级工具列表中(恕我直言,通常如此)。

那么,是否已知 system 已成功用于单元测试?在 UT 环境中使用它执行知名工具时,我是否会遇到任何问题?

最佳答案

对我来说,这是可以接受的 system 用法 - 但您需要注意“如何检查 test_tool 是否按预期执行。

但是,希望您的整体测试系统具有合理的安全性,因此与在随机应用程序中一般使用 system 相比,恶意用户应该不会成为问题。

当然,编写一些使用CreateProcess 或其他比system“不那么邪恶”的变体的代码也不难。使用它可能还会给你更多的灵 active 和对新启动过程的控制 - 例如您可以监视进程并了解它何时完成以及退出时的状态,包括检测它是正常退出还是崩溃。

关于c++ - 我应该使用 std::system 来编写单元测试的脚本部分吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17942910/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com