c++ - 任何 IDE 或框架都可以帮助快速测试新代码而无需运行整个应用程序吗?

标签 c++ testing

我主要使用 Visual Studio 在 Windows 上使用 native C++ 进行开发。

很多时候,我发现自己创建了一个新函数/类或其他任何东西,我只想快速测试我刚刚编写的那段逻辑。

很多时候,我必须运行整个应用程序,这有时可能需要一段时间,因为有很多连接的部分。

是否有某种工具可以让我快速测试那段新代码,而不必运行整个应用程序?

假设我有一个包含大约 1000 个文件的项目,我要添加一个名为 Adder 的新类。 Adder 有一个方法 Add( int, int );

我只希望 IDE/工具允许我通过指定进入 Adder 对象的输入值来测试 Adder 类(无需创建新项目和编写虚拟 main.cpp) .同样,如果它允许我指定测试对象的预期输出,那就太好了。

如果 IDE/工具随后“记录”这些输入/预期输出集,并根据它们自动创建单元测试器类,那就更酷了。如果我添加更多的输入/输出集,它会继续构建输入/输出的历史记录。

或者这个怎​​么样:如果我启动实际应用程序,向它提供一些真实数据,并让 IDE/工具捕获进入被测试单元的完整输入,会怎样。这样,如果我在我的程序中发现了一些错误或者我想稍微更改它的界面,我可以快速重新开始我的测试。我认为这个功能会非常简洁,并且可以帮助开发人员快速测试/修改他们的代码。

我是在谈论已经存在的模拟对象/单元测试吗?

旁注:如果 Visual Studio 调试器具有“重放”技术,用户可以后退一步以找出问题所在,那就太好了。这样的调试器已经存在于此处:http://www.totalviewtech.com/

最佳答案

在 C++ 中开始静态单元测试非常容易 - three lines of code .

VS 有点差,因为你必须通过向导来创建项目来构建和运行测试,所以如果你有一千个类,你就需要一千个项目。因此,对于 VS 上的大型项目,我倾向于将项目组织成几个 DLL 以进行独立构建和测试,而不是将其组织成单一的 DLL。

可以在 python 中使用 swig 完成静态测试的替代方案,更类似于您的“戳和运球”脚本。将您的代码绑定(bind)到解释器,以及 python 的 doc tests .我自己没有一起使用过。同样,您需要一个单独的目标来构建 python 绑定(bind),另一个目标来运行测试,而不仅仅是一个简单的“运行此类”按钮。

关于c++ - 任何 IDE 或框架都可以帮助快速测试新代码而无需运行整个应用程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/540252/

相关文章:

Django 测试 - 发送包含整数的数组数组

java.lang.NoClassDefFoundError : Could not initialize class org. apache.jmeter.gui.util.MenuFactory

c++ - `pthread`的run函数如何修改外部变量?

c++ - 在C++中找出无限范数的相对误差

java - JNI 将 long 值传递给本地方法

错误?每行最大匿名函数堆栈

PHPunit 设置引用

ruby-on-rails-3 - 为 lib 文件夹中的模块编写测试

c++ - 如何将变量传递给函数对象?

c++ - 是否 boost::io_service::post 队列请求?