我正在尝试使用swift build
进行编译
包装.swift
// swift-tools-version:4.2
// The swift-tools-version declares the minimum version of Swift required to build this package.
// swift-tools-version:x.x
import PackageDescription
let package = Package(
name: "MyKituraApp",
dependencies: [
.package(url: "https://github.com/IBM-Swift/Kitura", from: "2.7.0")
],
targets: [
.target(
name: "MyKituraApp",
dependencies: ["Kitura"],
path: "Sources"),
.testTarget(
name: "MyKituraAppTests",
dependencies: ["MyKituraApp"],
path: "Test")
]
)
但是,尽管我确实添加了 path 属性,但我收到以下错误。
'MyKituraApp'/src:error: 找不到目标的源文件: MyKituraAppTests;使用 Swift 4 清单中的 'path' 属性设置自定义目标路径
在不知道你的项目结构的情况下,我不能给你一个明确的答案,但我会尽力而为!
我假设你已经使用 Swift 包管理器工具生成了你的项目,如下所示:swift package init --type executable
所以。。。通常,除非已将应用程序的测试移动到另一个目录,否则不需要设置path
属性。默认情况下,Swift 包管理器将创建一个Tests
目录,当您不为path
属性提供值时,Swift 包管理器将在您运行swift build
时默认查找该Tests
目录。在path
属性中,您提供的值为Test
而不是Tests
所以我的第一个测试解决方案是: 从.testTarget
部分中删除path
属性
或
将path
属性值重命名为Tests
而不是Test
。
我提供了一个示例包.swift我能够使用它运行swift build
:
// swift-tools-version:4.2
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "MyKituraApp",
dependencies: [
.package(url: "https://github.com/IBM-Swift/Kitura", from: "2.7.0")
],
targets: [
.target(
name: "MyKituraApp",
dependencies: ["Kitura"],
path: "Sources"),
.testTarget(
name: "MyKituraAppTests",
dependencies: ["MyKituraApp"])
]
)
如您所见,我还从文件顶部删除了一行额外的行:// swift-tools-version:x.x
您已经在文件顶部提供了一个swift-tools-version
,这一行最终可能会在以后混淆事情。
我希望这有帮助!