Ссылка на классы из проекта.EXE VC++ из проекта.EXE модульных тестов

У меня есть старое устаревшее приложение на 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?

5
задан chillitom 28 March 2012 в 12:34
поделиться