【问题标题】:Use Xcode's Test Classes Assistant Editor with Swift Classes将 Xcode 的测试类助手编辑器与 Swift 类一起使用
【发布时间】:2016-03-24 07:11:33
【问题描述】:

在 Xcode 中工作时,通常最好在辅助编辑器中提取单元测试用例。目前,我一直在手动选择测试文件,但我看到助理编辑器有Test Classes 的选项。

我试图让这个选项自动提取我的测试文件,但我似乎无法让它工作。是否需要某种配置?它只是不适用于 swift 项目吗?

【问题讨论】:

  • 我也找不到 Xcode 首选项的配置。我通常做的是cmd + shift + o,输入测试文件名和cmd + opt + enter。如果您不知道这些快捷方式,我希望对您有所帮助。
  • 哦,我不知道cmd + opt + enter。这真的很有用。我将不得不更频繁地使用它。
  • 您只需要option + enter

标签: xcode swift unit-testing xctest


【解决方案1】:

助手编辑器在很多情况下可以自动打开配套文件。但是,afaik,没有自动设置打开单元测试。

要获得您想要的行为,您可以使用快速打开 ++o 进行模糊搜索,然后在助手编辑器中打开结果+

您可能还会发现快速打开 ++o 然后 +.

您可以查看有关"Working Efficiently with Xcode" here 的更多信息。

【讨论】:

    【解决方案2】:

    似乎在 Xcode 8 上,您在测试类中导入原始类后,它会自动在助手编辑器中设置合适的测试类。

    @testable import YOUR_MODULE_NAME
    
    class MyViewControllerTests: XCTestCase {
    
        var myVC : MyViewController!
    
    }
    

    之后,您将在“Tests Classes”下的助手编辑器中找到 MyViewControllerTests。

    【讨论】:

    • 在 Xcode 9b2 中这适用于我的 Objective-C 但不适用于 Swift。
    【解决方案3】:

    其他答案中提到的快捷方式效果很好,但它们不会使助理编辑器自动处理测试类。原来它以前不适用于 swift 代码,但 Apple 刚刚在 Xcode 9 中添加了对此的支持:

    基本名称为 FooTest 或 FooTests 的文件现在被视为与基本名称为 Foo 的文件相对应,用于导航和助手编辑器。 (28981734)

    因此,对于 Xcode 9,测试目标文件名需要与主代码文件同名 + 'Test' 或 'Tests' 并且 Xcode 测试类助手编辑器将自动工作。

    【讨论】:

    • 这很好,但它似乎不适用于 Xcode 9b2 中的 Swift。
    • 在 beta 3 中添加
    • 不幸的是,它在 b3 中也不适用于我,并且它没有在发行说明中列为新的或已解决的。
    • 试过了,不适合我,一个名为 Formula.swift 的文件,另一个名为 FormulaTests.swift 的测试项目中的文件。我需要其他配置吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多