Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ vs2013 c+中的单元测试故障+;项目_C++_Unit Testing_Visual Studio 2013 - Fatal编程技术网

C++ vs2013 c+中的单元测试故障+;项目

C++ vs2013 c+中的单元测试故障+;项目,c++,unit-testing,visual-studio-2013,C++,Unit Testing,Visual Studio 2013,我尝试在VS2013中为我的C++代码创建单元测试,它包含CalaLabDeMask.h和CulalDbMaunr.CPP文件,确定单个类,并包含4个.h文件,其中包含结构和SQLite源。 我试着做任何类似的事情,对于复制粘贴的代码来说效果很好,但当我尝试使用自己的代码时,出现了一些问题 当我创建新的单元测试项目并从上面的链接中添加HelloWorld.cpp和HelloWorld.h文件时,一切工作都完美无缺,但当我尝试在新项目中添加CLocalDBManager.h和CLocalDBMan

我尝试在VS2013中为我的C++代码创建单元测试,它包含CalaLabDeMask.h和CulalDbMaunr.CPP文件,确定单个类,并包含4个.h文件,其中包含结构和SQLite源。 我试着做任何类似的事情,对于复制粘贴的代码来说效果很好,但当我尝试使用自己的代码时,出现了一些问题

当我创建新的单元测试项目并从上面的链接中添加HelloWorld.cpp和HelloWorld.h文件时,一切工作都完美无缺,但当我尝试在新项目中添加CLocalDBManager.h和CLocalDBManager.cpp时,编译器发疯了-它在.cpp文件中发现了许多错误,如下所示:

所有这些都包括和示例中完全一样的东西,我真的不知道该怎么处理它

CLocalDBManager.h文件中有以下代码:

#include "SLandlord.h"
#include "SOffice.h"
#include "SMapSegment.h"
#include "SBuilding.h"
#include "sqlite3.h"
#include <string>
#include <map>
#include <vector>

#pragma once

class CLocalDBManager
{
public:
    template <class T> int LoadItemByID(int nID, T *sResult); //exception
    std::vector <int> FindBuildingsInArea(int nTopCoordinate, int nBottomCoordinate, int LeftCoordinate, int RightCoordinate);

    static int _LoadMapSegmentByIDCallback(void *vResult, int nNumberOfColumns, char **cData, char **cColumnNames) _NOEXCEPT;
    static int _LoadBuildingByIDCallback(void *vResult, int nNumberOfColumns, char **cData, char **cColumnNames) _NOEXCEPT;
    static int _LoadOfficeByIDCallback(void *vResult, int nNumberOfColumns, char **cData, char **cColumnNames) _NOEXCEPT;
    static int _LoadLandlordByIDCallback(void *vResult, int nNumberOfColumns, char **cData, char **cColumnNames) _NOEXCEPT;
    static int _FindBuildingsInAreaCallback(void *vSuitableBuildings, int nNumberOfColumns, char **cData, char **cColumnNames);

private:
    void _OpenConnection(); //exception
    void _CloseConnection() _NOEXCEPT;

    sqlite3 *m_sqlHandler;
    const char *m_cDBFile = "DB.sqlite";

    const std::string m_strQueryPrefix = "SELECT ";
    const std::string m_strQueryAny = "*";
    const std::string m_strQuerySource = " FROM ";
    const std::string m_strQueryConditions = " WHERE ";
    const std::string m_strQueryEqual = " = ";
    const std::string m_strQueryPt1 = "(XCoordinate BETWEEN";
    const std::string m_strQueryRange = " AND ";
    const std::string m_strQueryPt3 = ") AND (YCoordinate BETWEEN ";
    const std::string m_strQueryPt4 = ")";
};

而且,无论我是否在单元测试.cpp中包含CLocalDBManager.h,每次都会出现这些错误。

刚刚发现,问题在于预编译头,禁用了它们,一切正常

#include "CLocalDBManager.h"
#include "stdafx.h"