Я довольно новичок в Swift, точнее в Kitura. Я использую SwiftKueryPostgresql для обработки связи с базой данных.
Я пишу библиотеку ORM для конкретного проекта. Я тестирую свое соединение следующим образом (как я понял из документации):
import Foundation
import SwiftKuery
import SwiftKueryPostgreSQL
import XCTest
@testable import myprojet
final class project_ormTests: XCTestCase {
var context: Context? = Context(pool: PostgreSQLConnection.createPool(host: "localhost", port: 5432, options: [.databaseName("project"), .userName("myproject"), .password("")], poolOptions: ConnectionPoolOptions(initialCapacity: 3)).getConnection())
}
func testConnection() {
XCTAssertNotNil(context)
}
static var allTests = [
("testConnection", testConnection),
]
}
Мой класс Контекст:
public class Context {
private let pool : Connection
public init?(pool : Connection?) {
guard pool != nil else { return nil }
self.pool = pool!
}
}
Когда я запускаю testConnection()
на xcode, я получаю SwiftKuery / ConnectionPool.swift на строке 129 с этой ошибкой
Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
Что я делаю не так? Я что-то пропустил? Я действительно понятия не имею, что делать ...
Вот мой Package.swift, если он может помочь
import PackageDescription
let package = Package(
name: "project",
products: [
.library(
name: "projet",
targets: ["project"]),
],
dependencies: [
.package(url: "https://github.com/IBM-Swift/Swift-Kuery-PostgreSQL.git", from: "1.2.0")
],
targets:[
.target(
name: "project",
dependencies: ["SwiftKueryPostgreSQL"]),
.testTarget(
name: "projectTests",
dependencies: ["project"]),
]
)
Спасибо