c++ - 使用 C++ Builder 可以替代 DUnit 吗?

标签 c++ unit-testing c++builder xunit dunit

我有一些项目是用 C++ builder XE 开发的。
我想添加一些单元测试,但安装的 DUnit 框架对 Delphi 来说很好,但与 C++ 构建器的集成不是很好(而且非常有限)。

我可以轻松使用哪些其他 xUnit 框架?

最佳答案

对于您的情况,我会先向 Embarcadero 寻求帮助。他们希望全力支持使用他们的东西的开发人员,而自动化单元测试对于让他们满意至关重要。

在那之前,CppUnit 可以处理任何 C++ 代码,但并不能很好地与 IDE 集成。我们使用的方法是创建一个新项目来包含测试,并让它的链接器包含现有生产项目的 .OBJ 文件的路径。我们设置了一个项目依赖项,因此测试项目依赖于生产项目。

在测试项目中,我们将使用不同的 main.cpp 文件,调试和发布各一个,并使用条件从调试和发布构建中包含/排除适当的文件。

对于某些“虚假”集成,至少就运行测试而言,我们将在 DebugMain.cpp 中加载 MFC TestRunner GUI,以便开发人员可以单击以选择他们想要执行的测试。在 ReleaseMain.cpp 中,我们将使用命令行测试运行程序,使用 CompilerOutputter 对象让构建过程知道成功或失败。输出还与解释此类内容的 IDE 兼容,因此您可以在“输出”窗口中单击失败的测试报告,IDE 会将您带到失败的测试断言。

关于c++ - 使用 C++ Builder 可以替代 DUnit 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12216718/

相关文章:

java - 在HSQLDB中,为什么需要在 "After"方法中(即测试完成后)删除模式?

unit-testing - 当您进行单元测试时,断言是多余的吗?

c++ - 如何在 borland C++ builder 6 中制作 .exe 文件

c++ - std::map<UnicodeString, UnicodeString> 的 ofstream 输出产生地址而不是字符串

delphi - 印地 HTTP 客户端 : sessions like in web browser

c++ - 在两个 vector 中对 vector 进行空间高效解包的优雅方法

c++ - 如何使用cmake正确链接库?

c++ - Operator << 重载继承,为什么我从基类而不是子类获取输入?

unit-testing - 在两者都适用的情况下,端到端测试是否比单元测试更好?

c++ - 简单的用户定义文字编译失败