CppUnitTest link 到 Windows 应用程序
CppUnitTest link to Windows Application
我正在尝试 link 我的本机测试项目到同一解决方案中的现有项目。
在#include 中,我正在写 class 的 header 的路径,我正在尝试测试。
当我在 Test Explorer 中 运行 测试时,出现构建错误:
Error 1 error LNK2019: unresolved external symbol "public: __thiscall
DataManager::DataManager(void)" (??0DataManager@@QAE@XZ) referenced in
function "public: void __thiscall
MyProject.Tests::UnitTest1::TestMethod1(void)"
(?TestMethod1@UnitTest1@MyProjectTests@@QAEXXZ) D:\Documents\VisualStudio2013\Projects\MyProject\MyProject.Tests\DataManagerTests.obj MyProject.Tests
我找到了如何 link 本机测试项目到 .dll 项目或静态库,而不是 Windows 应用程序的不同示例。
非常感谢您的帮助。
#include "stdafx.h"
#include "CppUnitTest.h"
#include "D:/Documents/VisualStudio2013/Projects/MyProject/DataManager.h"
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
namespace VideoFaceRecognitionIPCATests
{
TEST_CLASS(UnitTest1)
{
public:
TEST_METHOD(TestMethod1)
{
DataManager dataManager = DataManager();
Assert::AreEqual(0, 0);
}
};
}
您应该将 DataManager .lib 文件添加到 link 输入文件选项。右键单击该项目,转到属性和 select 链接器输入条目。将 .lib 添加到附加依赖项,如果需要指定路径(或将 .lib 文件添加到项目)
我知道这已经有 3 年历史了,但对于未来试图弄清楚如何对他们的 Windows 可执行应用程序进行单元测试的 google 员工:不要尝试 link 您的单元测试项目你的可执行项目。它不会工作(没有设置 exe 来导出它的功能,即使那样它也很值得怀疑)。
您还有其他几个选择。您可以将源模块 (.cpp) 直接添加到单元测试项目中,或者将源模块放入静态或动态库项目中,link 可执行文件和带有库的单元测试项目。
我正在尝试 link 我的本机测试项目到同一解决方案中的现有项目。 在#include 中,我正在写 class 的 header 的路径,我正在尝试测试。
当我在 Test Explorer 中 运行 测试时,出现构建错误:
Error 1 error LNK2019: unresolved external symbol "public: __thiscall DataManager::DataManager(void)" (??0DataManager@@QAE@XZ) referenced in function "public: void __thiscall MyProject.Tests::UnitTest1::TestMethod1(void)" (?TestMethod1@UnitTest1@MyProjectTests@@QAEXXZ) D:\Documents\VisualStudio2013\Projects\MyProject\MyProject.Tests\DataManagerTests.obj MyProject.Tests
我找到了如何 link 本机测试项目到 .dll 项目或静态库,而不是 Windows 应用程序的不同示例。
非常感谢您的帮助。
#include "stdafx.h"
#include "CppUnitTest.h"
#include "D:/Documents/VisualStudio2013/Projects/MyProject/DataManager.h"
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
namespace VideoFaceRecognitionIPCATests
{
TEST_CLASS(UnitTest1)
{
public:
TEST_METHOD(TestMethod1)
{
DataManager dataManager = DataManager();
Assert::AreEqual(0, 0);
}
};
}
您应该将 DataManager .lib 文件添加到 link 输入文件选项。右键单击该项目,转到属性和 select 链接器输入条目。将 .lib 添加到附加依赖项,如果需要指定路径(或将 .lib 文件添加到项目)
我知道这已经有 3 年历史了,但对于未来试图弄清楚如何对他们的 Windows 可执行应用程序进行单元测试的 google 员工:不要尝试 link 您的单元测试项目你的可执行项目。它不会工作(没有设置 exe 来导出它的功能,即使那样它也很值得怀疑)。
您还有其他几个选择。您可以将源模块 (.cpp) 直接添加到单元测试项目中,或者将源模块放入静态或动态库项目中,link 可执行文件和带有库的单元测试项目。