我有一个我想要测试的新的本机C ++类。它从dll导出(项目由1个exe和很多dll组成)
什么更好:通过静态链接或通过动态链接进行测试? 你通常在你的项目中做什么?
问题是,在我正在进行的项目中,将花费大量时间使其静态编译。所以我想知道测试是否值得进行大量的重构。
提前致谢
答案 0 :(得分:1)
在我的项目中,我喜欢直接测试DLL,因此我可以完全按照与实际应用程序相同的方式访问导出的函数和类(静态链接可能存在一些细微差别)。
答案 1 :(得分:0)
在工作中,我们尝试运行两组测试。
首先,我们静态链接每个函数的单元测试,无论它是否为导出函数。这使我们可以通过消除在“后端”代码中找到的任何问题,在更受控制的环境中测试每个函数。
接下来,我们动态链接以测试导出的函数。这使我们可以测试导出的函数,知道一切都在调用堆栈的下游和库中的非导出函数中工作。
这种方法对我们来说效果很好,因为我们在运行动态链接测试时发现不同错误之前修复了静态链接测试中的错误。如果我们只使用动态链接进行测试,那么我们将花费更多时间来调试/修复复合问题而不是实际修复两个单独的孤立问题。