Я пытаюсь написать модульные тесты для моего проекта, используя этот учебник.
После компиляции проекта, содержащего тесты, я получаю ошибки компоновщика, почти такие же, как в this вопрос.Проблема в том, что там было добавление ссылки на тестируемый проект, но я уже сделал это, и у меня все еще появляются те же ошибки, как если бы ссылка не была добавлена.Тогда я нашел этот вопрос.Решение - просто добавить проверенные исходные файлы в проект тестов, и, конечно, все работает нормально.
Вот пример кода, который дает мне error LNK2019: unresolved external symbol
:
А-ч (в проекте .exe)
#pragma once
struct A
{
int a;
A(int a);
};
A.cpp (в проекте .exe)
#include "A.h"
A::A(int a) : a(a)
{
}
Tests.cpp (в проекте испытаний)
#include "stdafx.h"
#include "CppUnitTest.h"
#include "../Example/A.h"
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
TEST_CLASS(UnitTests)
{
public:
TEST_METHOD(TestStructInitialization)
{
int a = 5;
A testObject(a);
Assert::AreEqual(a, testObject.a);
}
};
Возможно, я что-то неправильно понял, но думаюДобавление ссылки - это то, что должно позволять делать тесты без необходимости добавлять исходные файлы в проект тестов.В первом уроке , о котором я уже упоминал, нет ничего о добавлении исходных файлов в проект тестов, но он не работает для меня даже с добавленной ссылкой.Добавление каждого исходного файла в оба проекта не очень быстрый способ проверить все, поэтому мне интересно, есть ли другой способ сделать это.