我正在使用cocos2d-x 3.10和Mac上的cocos studio开发iOS手机游戏。
我使用Catch作为单元测试框架。为了使用Catch,我已经为原始XCode项目添加了一个新目标。在这个目标中,我创建了我的" testXXX.cpp"包含我想要运行的单元测试代码的文件。
我在我的一次单元测试中遇到了一些麻烦。我试图测试一种方法。在这个方法中,我使用cocos2d FileUtils来访问两个配置游戏中某些行为的.plist文件。以下是我使用的代码:
std::string fullPathLevels = cocos2d::FileUtils::getInstance()->fullPathForFilename(OIR_CONFIG_LEVELS);
std::string fullPathRhythmTable = cocos2d::FileUtils::getInstance()->fullPathForFilename(OIR_CONFIG_RHYTHMS);
this->Levels = cocos2d::FileUtils::getInstance()->getValueMapFromFile(fullPathLevels);
this->rhythmTable = cocos2d::FileUtils::getInstance()->getValueMapFromFile(fullPathRhythmTable);
当我构建针对移动或桌面目标的代码时,它工作正常但是当我更改为"命令行时#34;我创建的目标是使用Catch进行测试,然后找不到plist文件。
我已经将plist文件添加到目标成员资格中,它们出现在" Copy Bundle Resources"构建阶段......
答案 0 :(得分:0)
我发现命令行应用程序不支持捆绑模型。我在这里找到了它:https://developer.apple.com/library/content/documentation/CoreFoundation/Conceptual/CFBundles/AboutBundles/AboutBundles.html
现在我使用XCTest(XCode的默认单元测试框架)编写所有测试用例。