c++ - 单元测试 native C++ 代码

标签 c++ visual-studio unit-testing visual-studio-2012

我有一些关于在 Visual Studio 2012 中将 Microsoft::VisualStudio::CppUnitTestFramework 和测试资源管理器用于 native C++ 项目的问题。

  1. 如何按特定顺序运行测试?在 this msdn article说:

    For more information, see Organizing C++ Tests.

    但是msdn上没有关于它的信息,或者我就是找不到。 (我只找到了一些关于托管项目中有序测试的文章)

  2. this文章说,如果我的 under_test 代码是静态库——我可以从测试中访问私有(private)方法。但是我不能直接访问它,并且发现没有什么比在测试时将 private/protected 定义为 public 更好的了,但我认为这不是正确的方法。

  3. 我最近才开始使用单元测试,对它不是很熟悉。 最好的入门框架是什么(对于 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/

相关文章:

.net - 未记录的string.Split()重载?

c# - 单元测试时 HttpContext.Current 为空

c++ - 统一的调用语法和函数指针

c++ - c++将equal_to设置为模板类的默认模板参数

c++ - GLFW,使用 glClear 距屏幕左上角的奇数偏移

c# - 如何根据所选配置将项目构建为可移植或普通类库?

visual-studio - 解决方案资源管理器在调试时关闭

c++ - 如何使用 Win32/WTL 实现 ListView 的缩放

javascript - Karma 单元测试中的错误 'Cannot read property ' triggerEventHandler' of null'

visual-studio-2010 - 我可以使用单元测试工具进行集成测试吗?