Tengo una aplicación antigua heredada de C++ que estoy intentando escribir algunas pruebas de unidad. Creé un segundo proyecto en mi solución que se basa en un ejecutable de prueba de unidad (usando googletest). El proyecto de prueba hace referencia a los archivos de encabezado del proyecto principal. El proyecto de prueba funciona bien hasta que intento utilizar una de las clases del proyecto principal.Hace referencia a las clases de un proyecto .EXE de VC++ de un proyecto .EXE de pruebas de unidad
#include "stdafx.h"
#include "JsContext.h"
#include "gtest/gtest.h"
TEST(JsContextTests, CreateJsContext) {
JsContext context; // linking fails as soon as this line is added
}
Produce ..
Error 1 error LNK2001: unresolved external symbol "public: __thiscall JsContext::JsContext(void)" ([email protected]@[email protected]) JsContextTests.obj tests
Error 2 fatal error LNK1120: 1 unresolved externals D:\Projects\Js-Clean\src\Debug\tests.exe tests
El ejecutable principal no produce un archivo .lib así que estoy seguro de lo que debería estar que une el proyecto de prueba en contra.
¿Cuál es el mejor enfoque para las clases de pruebas unitarias de otro proyecto EXE?