Я хочу протестировать мой код.Это частный шаг в моей задаче, код которой я уже написал.
Я использую VS Community 2017 v.15.9.7.Я следовал инструкциям этого сайта до мельчайших подробностей, строка за строкой: https://blogs.msdn.microsoft.com/vcblog/2017/04/19/cpp-testing-in-visual-studio/#Setup
Но после всех включений я получаю две ошибки:
1) Ошибка LNK1120 1 неразрешенные внешние ошибки UnitTest1\ source \ repos \ Primes \ Debug \ UnitTest1.dll 1
2) Ошибка LNK2019: неразрешенный внешний символ "public: bool __thiscall SearchPrimes :: IsPrime (int)" (? IsPrime @ SearchPrimes @@ QAE_NH @ Z)ссылка в функции «public: void __thiscall UnitTest1 :: TestClass :: IsOdd (void)» (? IsOdd @ TestClass @ UnitTest1 @@ QAEXXZ) UnitTest1 C: \ Users \ Velzevoul \ source \ repos \ Primes \ UnitTest1 \ unittest1.obj
Я пробовал перемещать файлы, но, думаю, случайное перемещение их принесет больше вреда, чем пользы.Я читал о включении «stdafx.h» в мой «источник», но это усугубило ситуацию, так как появлялось больше ошибок.
Вот заголовочные файлы кода, который я написал:
#pragma once
#include <vector>
#include "XMLParser.h"
class SearchPrimes
{
public:
std::vector<int> RangePrime(const std::pair<int, int>&);
//Setting the range to search for prime numbers, executing the algorithm
bool IsPrime(int); //The algorithm that checks if a number is prime
bool IsOdd(int); //Checking if a number if even or odd
};
#pragma once
#include <iostream>
#include <vector>
class XMLParser
{
public:
void removeTags(std::string&); //Removing the brackets of the tags of the .xml
std::string openFile(std::string); //Opening a file
std::vector<std::string> readFile(const std::string&, std::string);
//Getting the text from the .xml file to a vector
std::vector<std::pair<int, int> > stringsToInts();
//Finding the values of the tags that contain the ranges
//and converting the string numbers to a vector<int>
};
Вот test.cpp
#include "stdafx.h"
#include "CppUnitTest.h"
#include "/Users/Velzevoul/source/repos/Primes/Primes/SearchPrimes.h"
#include "/Users/Velzevoul/source/repos/Primes/Primes/XMLParser.h"
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
namespace UnitTest1
{
TEST_CLASS(TestClass)
{
public:
TEST_METHOD(IsOdd)
{
SearchPrimes prime;
Assert::IsTrue(prime.IsPrime(4));
}
};
}
Что мне нужно сделать, чтобы решить внешние зависимости?В статье говорится, что как только я пойду по шагам, я могу начать.Тест находится в отдельном проекте, как предполагает статья.Если вы считаете, что проблема может быть связана с моей функцией main (), скажите, пожалуйста, включить ее.Я не сейчас, потому что это довольно долго.
Я благодарю вас за ваше время заранее!