【发布时间】:2019-03-19 05:05:44
【问题描述】:
我想以测试驱动的方式编写一些静态 C++ 库。
我开始四处寻找 C++ 单元测试框架,但后来我想知道为什么我需要用 C++ 编写测试代码。
应该可以从更容易编写测试的高级语言调用静态 C++ 库。
这是一个明智的想法吗?
是否有任何特定的语言使这变得特别简单?无论是 Python、Lua 还是其他?甚至可能是一个特殊的 DSL?
有什么好的教程提示吗?
【问题讨论】:
-
最后,您是在要求库或工具推荐,不是吗。这使您的问题脱离了主题。即使不是,我认为您的要求过于宽泛/自以为是。话说回来;我认为您仍然希望在 C++ 中进行 一些 测试。你的用例“它应该是一个库”......然后你可以从其他语言/框架中使用......正在路上。当你做真正的 TDD 时,你从应该做 one 事情的函数开始。确保您可以从 python 脚本中调用该函数,这会增加相当多的复杂性。
-
换句话说:当你的“第一个”测试是有一个尝试调用 C++ 代码的脚本时,我看不出你怎么能做真正的 TDD。
-
最后:python/lua... 脚本将是一个很好的集成测试,但不适用于真正的单元测试和 tdd。
-
我试图不把它作为工具推荐。我想要这个问题的更一般的答案。但是,是的,指向可以让我这样做的工具的指针会很有帮助。我不明白为什么不能对单个函数进行单元测试或用另一种语言进行 tdd 编写测试。只要编写某种集成包装器的成本不会太高。
-
您问“是否有特定的语言可以做到这一点”。换句话说,“是否有工具可以做到这一点”。然后你问教程?!那是寻求建议,仅此而已。除此之外:你说你想要TDD。 TDD 源于小型、最少的测试,然后通过编写最少的生产代码来解决这些问题。如前所述:您的 C++ 产品代码和潜在脚本测试之间的差距太大了恕我直言。
标签: c++ unit-testing tdd