[英]c++ testing herimitic library
我决定为我的库添加测试。 问题是大多数(所有?)测试框架都使用相同的方法:构建一个可执行文件,其中包含要测试的代码,测试和框架。
但是如果我有一个很重的库(里面有很多代码)但只有一些公共函数/类呢? 在这种情况下,我无法测试它,直到:
广告。 1:这不好
广告。 2:当我使用visual studio时,它需要我将库项目与'test'可执行项目(添加/删除文件等)同步。 所以它对我来说也不好看。
还有其他方法吗?
如果你能做2)所以你应该能够重新组织你的文件/文件夹/项目;
1)包含所有内部函数和对象的静态库项目2)使用任何框架的测试项目(每个都有很多pro&con的框架,如果你是初学者,我的建议是选择集成解决方案或简单框架)。 该测试项目必须在静态库中DEPEND(在解决方案资源管理器菜单中添加依赖性)。 因此,您可以在内部实现上添加测试
现在是外部api。
3)您的旧DLL项目仅保留公共API定义和实现。 和静态库的DEPEND。
4)为您的公共API添加一个测试项目
无需同步项目和编译代码两次,并且只需外部api就可以测试更多,而无需更改内部代码。
通常,测试驱动编程适用于许多小型“单元”。 拥有一些膨胀的“单位”使得测试阶段无法忍受!
我看到唯一可行的解决方案是隔离代码的特定部分,然后使用调试器进入它们。 拥有许多private
函数通常会导致上述问题,并且由于您无法在单元测试期间直接访问它们,因此您应该考虑将调试器用于非显而易见的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.