适用于混合Windows应用程序的可嵌入单元测试框架

时间:2010-05-28 03:16:38

标签: c++ unit-testing

我想测试一个非常复杂的应用程序的部分,其中包括一个主要的本机Windows组件和一个实质的WPF GUI。由于复杂性我无法详细说明,不可能独立运行本机部分,也不能隔离我想测试的区域(不用讲座,我们说的是一个巨大的遗留代码库,我们做< / strong>有重构计划)。

我正在寻找一个我可以在本机调用的单元测试工具包,但必须能够在启动了管理部分的应用程序的情况下运行。这似乎排除了run executable feature Windows单元测试工具包的cfix。我非常喜欢他们的哲学,比如WinUnit,使用DLL编译作为一种方法来添加C ++中缺少的反射功能并获得更多类似NUnit的体验。

理想情况下,我希望在应用程序代码中运行类似WinUnit并生成HTML报告。

我正在尝试引入更多TDD并尽可能精益求精。

1 个答案:

答案 0 :(得分:0)

答案是C ++ / CLI。

您可以使用托管代码测试框架(如mbUnit,NUnit和xUnit.Net)和C ++ / CLI代码,它们可以正常工作。然后,测试的内容从本机库调用本机函数。

有两个小问题:

  1. xUnit.Net中存在一个错误,它阻止在C ++ / CLI中重复其InlineData属性,如this question中所述。
  2. 您有时必须小心测试运行器的工作目录,或者显式复制本机DLL作为卷影副本方法,一些用途只会获得托管依赖项。