我正在从命令行运行swift测试来运行测试用例。这是测试用例:
import XCTest @testable import vnk_swift class KeyMappingTests: XCTestCase { static var allTests : [(String,(KeyMappingTests) -> () throws -> Void)] { return [ // ("testExample",testExample),] } func testExample() { let keyMapping = KeyMapping() XCTAssertNotNil(keyMapping,"PASS") } }
这是输出消息。
如果我删除了KeyMapping的使用,一切正常:
func testExample() { // let keyMapping = KeyMapping() XCTAssertNotNil(true,"PASS") }
当我尝试使用课程时,看起来有问题。我该如何解决?
(当我开始使用swift包init时,我没有将XCode用于这个项目,这个项目的源代码在这里:https://github.com/trungdq88/vnk-swift)
@H_301_13@@H_301_13@
我通过以下修改成功构建并测试了您的包:
>将包名称重命名为VnkSwift,由于某些原因,构建工具不喜欢包名称中的破折号,当生成的包名称中有下划线时也不起作用(因此将包重命名为vnk_swift以确保import语句和包名称匹配不起作用)
>将测试文件夹重命名为VnkSwiftTests,以便链接器知道要链接的内容;似乎这是链接器知道链接到包的前提条件
>最后,将main.swift重命名为其他东西(我使用了utils.swift)。问题是main.swift的存在指示构建工具生成可执行文件,并且链接可执行文件不能很好地工作。重命名后,必须注释if代码,因为全局运行代码只能属于main.swift。
总结:
>避免使用非字母数字包名称>包名称和测试目录名称必须同步>确保您没有main.swift文件以确保可以链接包
@H_301_13@ 原文链接:https://www.f2er.com/swift/320283.html