【问题标题】:Unit testing in Visual Studio that support Marmalade SDKVisual Studio 中支持 Marmalade SDK 的单元测试
【发布时间】:2012-10-01 08:45:35
【问题描述】:

我们正在 Visual Studio 中使用 Marmalade SDK,并通过 git 与团队共享文件。我们很乐意使用单元测试。

有很多可能性

  • 我们尝试使用 Visual Studio 的内置功能实现单元测试,因此我们只是在同一解决方案中创建了一个新的测试项目。在我们尝试包含 Marmalade SDK 文件之前,一切看起来都很好。编译器有问题。 Marmalade SDK 生成自己的项目属性,有“ARM (x86) Debug”等编译器,在测试项目中只是默认设置,如 Debug、Release。所以无法正确编译代码。我可以将这些属性复制到测试项目吗?它会起作用吗?如果我们能找到这个选项的答案会更好。

  • 而且,我们可以使用一些单元测试 c++ 框架。将其链接到与 Marmalade SDK 创建相同的主项目中。但是哪个框架是最好的?它们有很多,我不知道什么是最好的。另外,我们需要做特殊的 main.cpp 来运行单元测试,对吧?如果您能提供最好的测试框架,以便在 Visual Studio 中轻松实现并附上一些教程,我将不胜感激。

感谢您的任何回答!

【问题讨论】:

  • 我刚开始使用 Marmalade SDK。但对于其他项目,我们使用 C++ Google Test 框架进行单元测试。我们有新的单元测试项目和它自己的入口点文件(main.cpp),它创建并运行测试套件。要引用您要测试的项目,您应该与 TestProject 共享头文件和 .lib(目标文件)文件,以便 C++ 编译器能够找到您的类,并且链接器能够将测试与类绑定。

标签: c++ visual-studio-2010 unit-testing marmalade


【解决方案1】:

我想在这里解释我们如何在果酱项目中使用版本控制,但是我真的很想知道是否有更好的解决方案。

我们在所有客户端机器上使用tortoise svn,在服务器上使用Visual SVN server。我们通常从 Windows 资源管理器上下文菜单中更新和提交,而不是从 Visual Studio 内部,因为我们过去遇到过一些问题。

在测试时,我们通常会创建一个新的存储库或使用当前的存储库。

【讨论】:

  • “在测试时,我们通常会创建一个新的存储库或使用当前的存储库。”...您能具体说明一下如何吗?你在使用 Visual Studio 测试项目吗?如何包含 marmalade SDK?
  • 关于 SVN,我们在 Visual Studio 构建之外共享文件。而且我们不会将 Visual Studio 构建文件夹推送到 SVN。因为点击 mkb 后它会为特定计算机生成新的构建,所以这种方式可以帮助我们克服特定计算机的绝对路径问题。
  • 好吧,我们从不使用visual studio build文件夹,我们只使用mkb打开项目,这样就消除了对visual studio环境的依赖。同样对于测试项目,我们只是在 svn 上创建一个新的测试存储库并使用它进行测试。测试完成后,代码将与主项目/存储库合并。有时使用相同的主存储库,在客户端计算机上的位置不同,具体取决于少数测试。
  • 您能否更具体地了解单元测试的实现?您使用的是任何单元测试框架还是只是 Visual Studio 测试项目?您如何将 Marmalade SDK 链接到其中?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-18
  • 1970-01-01
  • 2018-04-16
  • 2016-10-30
  • 2012-10-18
  • 1970-01-01
相关资源
最近更新 更多