Swift   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Swift测试给出错误“架构x86_64的未定义符号”大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我正在从命令行运行swift测试来运行测试用例。这是测试用例: import XCTest @testable import vnk_swift class KeymappingTests: XCTESTCase { static var allTests : [(String, (KeymappingTests) -> () throws -> Void)] { ret
我正在从命令行运行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)

我通过以下修改成功构建并测试了您的包:

>将包名称重命名为VnkSwift,由于某些原因,构建工具不喜欢包名称中的破折号,当生成的包名称中有下划线时也不起作用(因此将包重命名为vnk_swift以确保import语句和包名称匹配不起作用)
>将测试文件重命名为VnkSwiftTests,以便链接器知道要链接内容;似乎这是链接器知道链接到包的前提条件
>最后,将main.swift重命名为其他东西(我使用了utils.swift)。问题是main.swift的存在指示构建工具生成可执行文件,并且链接可执行文件不能很好地工作。重命名后,必须注释if代码,因为全局运行代码只能属于main.swift。

总结:

>避免使用非字母数字包名称>包名称和测试目录名称必须同步>确保您没有main.swift文件以确保可以链接

大佬总结

以上是大佬教程为你收集整理的Swift测试给出错误“架构x86_64的未定义符号”全部内容,希望文章能够帮你解决Swift测试给出错误“架构x86_64的未定义符号”所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。