无法可靠地测试基本类c ++

时间:2013-11-10 21:39:43

标签: unit-testing visual-c++

我最近开始尝试为我的项目设置单元测试。但是,它对于课程来说不能正常工作。

我使用问题Unresolved externals when compiling unit tests for Visual C++ 2012中的说明进行了设置。

将会发生的测试是开始正常,但是会出现内存访问错误(C0000005)。但这并不是一直发生的。它通常会每两到三次尝试失败,但可能会每20次失败一次。似乎代码中的其他函数似乎并不重要。

当我尝试调试测试时,第一次访问或使用变量时,测试将失败。

我正在尝试两种不同的测试框架,Boost.test(使用Boost Unit Test Adapter)和Native Unit Tests。他们俩都有同样的问题。

我知道dll和测试应用程序都使用相同的调用约定(__cdecl)。

奇怪的是,测试会工作一段时间,然后突然开始失败。

该项目可用here

重新安装Visual Studios没有帮助。

1 个答案:

答案 0 :(得分:1)

无论发生了什么,它几乎可以肯定在你的代码中,许多人使用Visual Studio成功使用Boost.Test。而不是下载的100+ MB压缩文件,没有人会下载,尝试将问题简化为可以重现问题的最小代码,并将其发布到您的问题中。

这是一个更具建设性的答案。尝试使用Boost.Test和Visual Studio编写的关于测试驱动开发的5部分教程:

您还可以查看我在C ++中展示的workshop! 2014年,其中涉及使用Turtle Mock库来模拟合作者。我在研讨会中使用CMake作为构建系统,因为为这些受众假设Visual Studio是不合理的。

通过这些示例中的任何一个(或两个),应该为您提供足够的逐步说明,以便您能够识别项目中出错的内容。