gpt4 book ai didi

c++ - 包含主项目中的文件时单元测试项目中的错误

转载 作者:行者123 更新时间:2023-11-30 05:02:16 25 4
gpt4 key购买 nike

我目前正在学习 Visual Studio 2015 中的单元测试,但我发现很难找到关于该主题的好资源。

我在与主项目相同的解决方案中设置了一个 C++ native 单元测试项目。然后我将主项目设置为测试项目中的引用。

我的问题是,当我在测试中包含来自主项目的文件时,几乎每个函数都会发出类似这样的编译器错误。

Errors

这是测试类

#include "stdafx.h"
#include "CppUnitTest.h"

#include <Windows.h>
#include <Util\fileutil.h>

using namespace Microsoft::VisualStudio::CppUnitTestFramework;


namespace EngineTest
{
using namespace Engine;
TEST_CLASS(EngineTests)
{
public:

TEST_METHOD(UnitTestTest)
{
int i = 1;
Assert::IsTrue(i == 1);
}

TEST_METHOD(FilePathSplit)
{
FileUtils testClass;
std::string examplePath = "./FolderOne/FolderTwo/File.file";
std::string exampleName = "File.file";
std::set<char> delims{ '\\', '/' };
std::string fileName = testClass.test_splitpath(examplePath, delims).back();
Assert::AreSame(fileName, exampleName);

}

};
}

构建工作正常,所以我认为这是一个没有加载依赖项的问题,我尝试将所有 header 添加到 stdafx 中,但这并没有改变任何东西。

感谢任何帮助。

最佳答案

好吧,这是一个愚蠢的问题。

主要项目设置为支持多字节字符集,另一个设置为使用 Unicode。因此,在我尝试将 const char* 转换为 win32 格式时出现的所有错误,它都不喜欢。

属性 -> 常规 -> 字符集

关于c++ - 包含主项目中的文件时单元测试项目中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49962253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com