Xcode Unit Testing - добавление общей функции, которая будет использоваться во всех тестовых классах

Я реализовал модульное тестирование для моего проекта с помощью Swift. В тестовых случаях я читаю входные значения, это результаты из файла CSV и проверяет их. В настоящее время все функции для чтения CSV-файла и его синтаксического анализа должны быть скопированы и вставлены в новый тестовый класс всякий раз, когда я создаю новый класс тестового примера. Есть ли способ использовать функции для чтения CSV-файла в одном месте, чтобы все тестовые классы могли их использовать? Код, который я хотел бы использовать повторно:

func csv(data: String) -> [[String]] {
    var result: [[String]] = []
    let rows = data.components(separatedBy: "\n")
    for row in rows {
        let columns = row.components(separatedBy: ",")
        result.append(columns)
    }
    return result
}

func cleanRows(file:String)->String{
    var cleanFile = file
    cleanFile = cleanFile.replacingOccurrences(of: "\r", with: "\n")
    cleanFile = cleanFile.replacingOccurrences(of: "\n\n", with: "\n")
    return cleanFile
}

func readDataFromCSV(fileName:String, fileType: String)-> String!{
    let bundle = Bundle(for: type(of: self))
    let path = bundle.path(forResource: fileName, ofType: fileType)!

    do {
        let contents = try String(contentsOfFile: path, encoding: .utf8)
        return contents
    } catch {
        print("File Read Error for file \(path)")
        return nil
    }
}
1
задан Naveen George Thoppan 13 August 2018 в 12:58
поделиться