作者回复: 这两个都没有实际使用经验。如果你需要的功能都有,那就没有切换的理由吧。如果不足,就试试其他的。鉴于选择实在太多,重点试几个,满足需求就行了。我一直用 Boost.Test 的理由就是没找到换门的理由,而不是它有多好。当然,至少它是不差的。从下面这个列表里看(几十个 C++ 单元测试框架的概要对比),看起来没有严重缺的东西:
https://en.wikipedia.org/wiki/List_of_unit_testing_frameworks#C++
作者回复: 全部清空吗?用clear()有问题?
作者回复: 尽量不用,但有时候必须用啊。比如我在智能指针的实现里就用了。
跟Java的比较,你说的情况我不熟。泛泛而言,不要在C++里模拟其他语言的做法。退一步,看你要达到的目的是什么,再看语言有什么机制可以满足目标。C++里目前没反射机制,可预见的将来也大概只会有供编译期使用的静态反射。