我发现了一些老的问题询问C++的BDD框架。CppSpec被推荐作为一个BDD风格的框架,但这个框架远没有RSpec甚至googletest那么优雅。
我还看到提到一篇文章详细介绍了使用Ruby和RSpec测试C和C++的方法Unit Testing C and C++ with Ruby and RSpec,听起来非常有趣。然而,该文章指出使用这种方法在C++中存在许多限制。这方面有所改善吗?如果不是用Ruby,SWIG在接口C++和Python方面是否已经变得更好了?那我能不能像附加Cucumber一样做点什么呢?
最后我想到的是将googlemock与googletest一起使用(我已经在一些单元测试中使用),尽管它仍然不像使用Ruby或Python BDD框架那么优雅或快速。
我认为使BDD/TDD奏效的关键是撰写测试应该快捷无痛。我正在尝试在工作中引入这些和其他开发方法,我可能需要说服人们撰写测试可以简短、简洁和容易。
更新 我刚刚发现了Kross,因为应用程序使用Qt并针对Linux环境,所以这可能会很好地工作。这比SWIG更容易/更好吗?