在Visual Studio(TDD)中构建和运行C ++单元测试

我有一个大型项目,我试图使用TDD。 我使用Tut作为我的测试框架,它有缺陷但足以满足我的需要。

我需要利用链接时间测试接缝, 每个测试必须在它自己的可执行文件中 。 这个可执行文件的项目然后作为后期构建步骤启动。

不幸的是,这意味着我的Visual Studio Sln正在填充测试,这是不可扩展的,并且隐藏了实际的重要项目。

有谁知道运行这些测试的更好方法吗? 是否有可能从构建中隐藏项目并仍然构建它们?


“是否可以隐藏构建中的项目,但仍然可以构建它们?”

您可以为测试用例制定单独的解决方案。 然后,您可以设置主项目的后期制作步骤。 这个后期构建应该通过单独的解决方案构建测试项目并运行它们。 构建测试项目应该通过命令行来完成(详情参见这里)。

如果您需要将单元测试与主项目中的某些lib-s链接起来,则可以使用

#pragma comment(lib, "libname")

有关详细信息,请参阅此MSDN页面。


您可以尝试将解决方案资源管理器中的测试分组到文件夹中(它们是否称为过滤器?)。 这会将测试与其他项目分开。

但是,否则,你是否可以避免使用链接时间测试接缝(是的,我知道,它可能为时已晚),并使用多态性来提供运行时间变化并且具有较少的测试项目?


不知道你是否仍在寻找解决方案。 但是这里有一个想法:

您可以将所有测试保存在一个库中,并编写一个自行生成并执行每个测试的应用程序。 这样你最终得到一个套件的一个可执行文件(因此也就是一个项目),每个测试就像一个单独的可执行文件。

这实际上是CUnitWin32中使用的机制。 你甚至可以在你的框架中包装你的测试。

链接地址: http://www.djcxy.com/p/41925.html

上一篇: Building and running C++ unit tests in Visual Studio (TDD)

下一篇: Can I copy/paste htpasswd files to my new server?