【问题标题】:Disable some SwiftLint rules for test target/unit tests files为测试目标/单元测试文件禁用一些 SwiftLint 规则
【发布时间】:2019-02-23 21:13:48
【问题描述】:

我希望为我的应用程序中的单元测试禁用一些 SwiftLint 规则。

例如,我想为我的单元测试禁用weak_delegate 规则。

查看 SwiftLint 文档后,我认为可以通过定义自定义的 weak_delegate 规则并排除单元测试的路径来实现。

https://github.com/realm/SwiftLint#defining-custom-rules

【问题讨论】:

    标签: swift unit-testing xctest swiftlint


    【解决方案1】:

    您可以使用以下方法在本地级别禁用它们:

    //swiftlint:disable weak_delegate
    let someDelete: someDelegate?
    //swiftlint:enable weak_delegate
    

    或在目标级别,通过修改您的 .swiftlint.yml 文件(隐藏)

    weak_delegate:
        excluded: ".*Test\\.swift" //regex path to your tests folder
    

    或在项目级别,通过修改您的 .swiftlint.yml 文件(隐藏)

    disabled_rules:
     - weak_delegate
    

    【讨论】:

    • 不适合我...我想禁用单元测试但没有找到方法
    【解决方案2】:

    将此添加到您的.swiftlint.yml

    weak_delegate:
        excluded: ".*Test\\.swift" //regex path to your tests folder
    

    【讨论】:

      【解决方案3】:

      为测试目标排除某些规则的最佳方法是 nested configuration:您将第二个 .swiftlint.yml 添加到测试目录的根目录,并禁用规则。

      disabled_rules:
          - weak_delegate
          - cyclomatic_complexity
          - force_unwrapping
          - function_body_length
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-12-05
        • 2012-07-28
        • 2011-07-31
        • 2019-04-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多