为测试目标/单元测试文件禁用一些SwiftLint规则

时间:2018-09-19 16:14:10

标签: swift unit-testing xctest swiftlint

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

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

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

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

3 个答案:

答案 0 :(得分:2)

将此添加到您的.swiftlint.yml

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

答案 1 :(得分:0)

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

//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 :(得分:0)

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

disabled_rules:
    - weak_delegate
    - cyclomatic_complexity
    - force_unwrapping
    - function_body_length