gpt4 book ai didi

swift - 在单元测试中使用本地 JSON 文件

转载 作者:行者123 更新时间:2023-11-28 06:21:42 28 4
gpt4 key购买 nike

我有一个名为“FFQuestions”的应用程序。我使用名为 QA.json 的本地 json 文件。

有什么方法可以在我的“FFQuestionsTests”文件夹文件中使用QA.json,而无需重新创建文件并将其放入该文件夹?我需要用我的代码来改变它吗?还是像为“FFQuestionsTests”添加目标成员一样简单?

这是我加载QA.json的方法...

func loadJSONFromFile() -> [String: Any]? {
guard let url = Bundle.main.url(forResource: "QA", withExtension: "json") else {return nil}
guard let data: Data = NSData(contentsOf: url) as Data? else {return nil}

do {
let object = try JSONSerialization.jsonObject(with: data, options: .allowFragments)
guard let dictionary = object as? [String: Any] else {return nil}
return dictionary
} catch {
print("Not parsed")
}

return nil
}

甚至认为它可能需要在单元测试中以不同的方式完成,所以我尝试了...

func loadJSONFromTestsFile() -> [String: Any]? {
let testBundle = Bundle(for: type(of: self))
let url = testBundle.url(forResource: "QA", withExtension: "json")

guard let data: Data = NSData(contentsOf: url!) as Data? else {return nil}

do {
let object = try JSONSerialization.jsonObject(with: data, options: .allowFragments)
guard let dictionary = object as? [String: Any] else {return nil}
print(dictionary)
return dictionary
} catch {
print("Not parsed")
}

return nil
}

这就是我尝试过的方法,但我仍然遇到 nil 崩溃。

最佳答案

就像为“FFQuestionsTests”添加目标成员一样简单

关于swift - 在单元测试中使用本地 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43241420/

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