/ src: ошибка: не удалось найти исходные файлы для целей: MyKituraAppTests;используйте свойство path в манифесте Swift 4, чтобы установить собственный целевой путь - PullRequest
0 голосов
/ 10 июня 2019

Я пытаюсь скомпилировать, используя swift build

Package.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")
    ]
)

Но я получаю следующую ошибку, хотя я и добавил свойство пути.

'MyKituraApp' / src: ошибка : не удалось найти исходные файлы для целей: MyKituraAppTests; используйте свойство path в манифесте Swift 4, чтобы установить собственный целевой путь

1 Ответ

0 голосов
/ 10 июня 2019

Не зная структуры вашего проекта, я не могу дать вам однозначного ответа, но сделаю все возможное!

Я предполагаю, что вы сгенерировали свой проект с помощью инструмента Swift Package Manager, что-то вроде этого: swift package init --type executable

Итак ... Как правило, вам не нужно устанавливать свойство path, если вы не переместили тесты для своего приложения в другой каталог. Диспетчер пакетов Swift по умолчанию создаст каталог Tests, и если вы не укажете значение для свойства path, диспетчер пакетов Swift по умолчанию будет искать этот каталог Tests при запуске swift build. В вашей собственности path вы предоставляете значение Test, а не Tests

Итак, мое первое решение для тестирования будет: Чтобы удалить свойство path из раздела .testTarget

ИЛИ

Переименуйте значение свойства path в Tests вместо Test.

Я предоставил пример Package.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 в верхней части файла, эта строка может привести к путанице в дальнейшем.

Надеюсь, это поможет!

...