我有一些关于在 Visual Studio 2012 中将 Microsoft::VisualStudio::CppUnitTestFramework 和测试资源管理器用于 native C++ 项目的问题。
如何按特定顺序运行测试?在 this msdn article说:
For more information, see Organizing C++ Tests.
但是msdn上没有关于它的信息,或者我就是找不到。 (我只找到了一些关于托管项目中有序测试的文章)
在this文章说,如果我的 under_test 代码是静态库——我可以从测试中访问私有(private)方法。但是我不能直接访问它,并且发现没有什么比在测试时将 private/protected 定义为 public 更好的了,但我认为这不是正确的方法。
我最近才开始使用单元测试,对它不是很熟悉。 最好的入门框架是什么(对于 Windows + native C++ 使用)?可能是 boost 或 googletest,或任何其他?我的主要 IDE 是 Visual Studio,所以我希望测试框架和 IDE 之间有很好的集成,比如从 native 测试资源管理器管理/运行测试等。
最佳答案
对于第一个问题:你不能。您应该以一种不会干扰彼此结果的方式编写单元测试。
第二:做到这一点的唯一方法是反射。我再次不推荐它。如果您觉得应该测试私有(private)方法,那几乎总是表明您应该将类分成更小的类。
第三:Visual Studio测试框架还行,如果没有什么特殊需求可以找其他的,就用吧。
祝你单元测试好运:) 如果你觉得有点迷茫,让我向你推荐这本书:
http://www.amazon.com/Test-Driven-Development-By-Example/dp/0321146530
它解释了您需要的一切。
关于c++ - 单元测试 native C++ 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28013291/