我认为Python的doctests的概念很棒,作为一个实时商店的C++程序员,我非常嫉妒.我们基本上没有单元测试能力,这是一个严重的障碍.我已经看过C++ Unit等,但有没有什么可以从像Python的doctests这样的注释中提取测试用例而不是直接将它们放在代码中?
小智 5
您可能会发现这很有用。在我自己的代码中需要它之后,我开始开发它。
http://github.com/panyam/DocTestPlusPlus
它是一个 python 脚本,它通过您的评论并提取测试并生成测试文件。
仍在开发和测试中。感谢任何和所有反馈。
干杯斯里
我刚刚看了 doctest,它确实很棒。Python 语言的易用性也是如此。
然而,对于 C++,您可能找不到这样的工具。
如果其中一项测试失败,您可能需要调试发生的情况。从评论中生成测试用例的源代码并不那么容易。相反,在现有的 C++ 单元测试框架中,您可以使用具有特殊语法的测试源,该语法经过编译且易于调试。此外,从注释生成源代码将是另一个额外的(预)编译步骤,这只会让事情变得更加困难。
您应该承认,C++ 编码并不像 Python 那样快速,因此单元测试同样更加困难。另一方面,你有更多的工具,例如,你可以为类型关系添加静态断言,这在 Python 中是不可能的。
简而言之,我认为 C++ 的 Python doctest 与现有工具相比有很多缺点,以至于没有人开始实现它。
如果您确实认为它比现有工具更好,请提供一些示例。我几乎不相信现实生活中存在它可以更有用的案例。