我们在VS 2015中有一个现有的本地C ++可执行项目。我希望能够对它运行一些单元测试。到目前为止,我发现的所有示例都涉及添加一个单独的项目,该项目链接到可执行项目中的目标文件。
我们对这种方法有几个问题,我想知道是否有办法在可执行项目中运行单元测试,而不是添加单独的单元测试项目。
我们与单独的单元测试项目有关的问题是: 1)我们必须确保配置完全相同才能获得任何编译。即定义必须匹配,包括路径等。 2)对项目的任何更改(包括添加输出文件)都涉及更新单元测试项目的配置。
理想情况下,我们可以将实现TEST_CLASS
类的.cpp文件添加到可执行项目中,然后从那里运行它们。这可能吗?如果是这样,怎么做。
更新:我已经弄清楚如何将单元测试添加到我们的可执行项目中,但现在每次我尝试运行测试时都会收到错误" vstest.executionengine.exe已停止工作&#34 ;。当我打开dmp文件文件:/// C:/Users/USERNAME/AppData/Local/CrashDumps/vstest.executionengine.exe.14420.dmp
异常信息只是"线程试图读取或写入没有适当访问权限的虚拟地址"
答案 0 :(得分:0)
更好的问题是
如何使用VS Native C ++单元测试测试现有的可执行项目
诸如“挤压单元测试”这样的答案将是完全错误的。
您需要执行2项更改:使可执行项目中的代码可以从外部正确访问,并创建一个测试该代码的单元测试项目。