提问人:Alexandstein 提问时间:10/15/2023 最后编辑:Joakim DanielsonAlexandstein 更新时间:10/15/2023 访问量:23
测试 Swift 包涉及读取文本文件,但说我没有权限并失败并显示“nil”
Test for Swift package involves reading text file, but says I don't have permissions and fails with 'nil'
问:
我正在重新学习编程,并通过编写一个简单的 CSV 解析器作为 Swift 包作为一个小项目来自学基本的 Swift 概念。这涉及能够为类提供任意文件路径以从外部文件读取。
但是,这失败了,并且错误显示我没有权限读取单元测试中的文件。这是以与游乐场沙盒相同的方式进行沙盒的问题吗?如果是这样,有没有办法让沙盒访问该文件?.cvs
XCTest
以下是该函数的内部代码:
public func parse(fromFilePath path : String) -> Array<Dictionary<String,String>>?{
let fileManager = FileManager()
if let fileContents = fileManager.contents(atPath: path){
let fileText = fileContents.base64EncodedString()
print(fileText.split(separator: "\n").count)
}else{
print("File read failed!")
}
//If all fails, fall through to return nil
return nil
}
这是单元测试正在做的事情。第一个函数通过,因为它不是正确的文件路径,但第二个测试由于权限问题而使有效路径失败。
func testFileOpen_Failed() throws{
let parser = CSVParse()
let results = parser.parse(fromFilePath: "Nonexistent File")
XCTAssert(results == nil)
}
func testFileOpen_Success() throws{
let parser = CSVParse()
let filePath = ".CSVParseTests"
let results = parser.parse(fromFilePath: filePath)
XCTAssert(results != nil)
}
答: 暂无答案
评论
".CSVParseTests"
let fileUrl = URL(fileURLWithPath: "CSVParseTests")