【发布时间】:2012-04-12 01:11:26
【问题描述】:
我有一个旧的 C++ 应用程序,我正在尝试为其编写一些单元测试。我在我的解决方案中创建了第二个项目,该项目构建为一个单元测试可执行文件(使用 googletest)。测试项目引用来自主项目的头文件。测试项目构建良好,直到我尝试使用主项目中的一个类。
#include "stdafx.h"
#include "JsContext.h"
#include "gtest/gtest.h"
TEST(JsContextTests, CreateJsContext) {
JsContext context; // linking fails as soon as this line is added
}
生产..
Error 1 error LNK2001: unresolved external symbol "public: __thiscall JsContext::JsContext(void)" (??0JsContext@@QAE@XZ) JsContextTests.obj tests
Error 2 fatal error LNK1120: 1 unresolved externals D:\Projects\Js-Clean\src\Debug\tests.exe tests
主可执行文件不会生成 .lib 文件,所以我不确定我应该将测试项目链接到什么。
从另一个 EXE 项目中单元测试类的最佳方法是什么?
【问题讨论】:
标签: c++ unit-testing visual-c++