gpt4 book ai didi

xcode - 在 xcode 单元测试中加载文件

转载 作者:行者123 更新时间:2023-12-03 01:30:38 26 4
gpt4 key购买 nike

我有一个 Xcode 5 单元测试项目和一些与之相关的测试 xml 文件。我尝试了很多方法,但似乎无法加载 xml 文件。

我尝试了以下方法,但不起作用

NSData* nsData = [NSData dataWithContentsOfFile:@"TestResource/TestData.xml"];

NSString* fileString = [NSString stringWithContentsOfFile:@"TestData.xml" encoding:NSUTF8StringEncoding error:&error];

此外,如果我尝试使用 [NSBundle allBundles] 预览所有 bundle ,单元测试 bundle 不会出现在列表中?

我尝试创建一个单独的资源包,但我似乎无法以编程方式找到它,尽管它确实已构建和部署。

我做错了什么?

最佳答案

运行测试时,应用程序包仍然是主包。您需要使用单元测试包。

objective-c :

NSBundle *bundle = [NSBundle bundleForClass:[self class]];
NSString *path = [bundle pathForResource:@"TestData" ofType:@"xml"];
NSData *xmlData = [NSData dataWithContentsOfFile:path];

Swift 2:

let bundle = NSBundle(forClass: self.dynamicType)
let path = bundle.pathForResource("TestData", ofType: "xml")!
let xmlData = NSData(contentsOfFile: path)

Swift 3 及更高版本:

let bundle = Bundle(for: type(of: self))
let path = bundle.path(forResource: "TestData", ofType: "xml")!
let xmlData = NSData(contentsOfFile: path)

关于xcode - 在 xcode 单元测试中加载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19151420/

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