Swift 的 Testcontainers 是一个旨在为 Swift 项目带来官方 Testcontainers 支持的库。它提供了在测试期间管理 Docker 容器的简单方法,使集成测试更轻松、更可靠。
我们欢迎您为这个令人兴奋且有趣的开源项目做出贡献 🫵。
将以下依赖项添加到您的 Package.swift
文件中
.package(url: "https://github.com/cristianpalomino/testcontainers-swift.git", from: "0.0.1")
然后,像这样将其添加到您的目标 dependencies
部分
.product(name: "Testcontainers", package: "testcontainers-swift")
轻松启动可供使用的新通用容器的方法。
使用 Async/Await。
do {
...
let container = try GenericContainer(name: "redis", port: 6379, logger: logger)
// Start the container
let response = try await container.start().get()
logger.info("Container Name: \(response.Name)")
...
} catch {
// Handle error
print(error)
}
使用完成处理程序。
...
let container = try GenericContainer(name: "redis", port: 6379, logger: logger)
// Start the container
container.start().whenComplete { result in
switch result {
case let .success(response):
self.logger.info("Container Name: \(response.Name)")
case let .failure(error):
// Handle error
print(error)
}
}
...
在幕后,该库处理以下步骤
该库还允许您在完成容器使用后将其移除。
使用 Async/Await
do {
...
let container = try GenericContainer(name: "redis", port: 6379, logger: logger)
let response = try await container.start().get()
logger.info("Container Name: \(response.Name)")
...
// Perform operations with the running container
...
// Remove the container
try await container.remove().get()
...
} catch {
// Handle error
print(error)
}
使用完成处理程序。
...
let container = try GenericContainer(name: "redis", port: 6379, logger: logger)
container.start().whenComplete { result in
switch result {
case let .success(response):
self.logger.info("Container Name: \(response.Name)")
...
// Perform operations with the running container
...
// Remove the container
container.remove().whenComplete { result in
switch result {
case let .success:
self.logger.info("Container Removed")
case let .failure(error):
// Handle error
print(error)
}
}
case let .failure(error):
// Handle error
print(error)
}
}
...
在幕后,该库执行以下步骤
查看 贡献者 以获取所有贡献者信息。