【发布时间】:2019-02-23 21:13:48
【问题描述】:
我希望为我的应用程序中的单元测试禁用一些 SwiftLint 规则。
例如,我想为我的单元测试禁用weak_delegate 规则。
查看 SwiftLint 文档后,我认为可以通过定义自定义的 weak_delegate 规则并排除单元测试的路径来实现。
【问题讨论】:
标签: swift unit-testing xctest swiftlint
我希望为我的应用程序中的单元测试禁用一些 SwiftLint 规则。
例如,我想为我的单元测试禁用weak_delegate 规则。
查看 SwiftLint 文档后,我认为可以通过定义自定义的 weak_delegate 规则并排除单元测试的路径来实现。
【问题讨论】:
标签: swift unit-testing xctest swiftlint
您可以使用以下方法在本地级别禁用它们:
//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
【讨论】:
将此添加到您的.swiftlint.yml:
weak_delegate:
excluded: ".*Test\\.swift" //regex path to your tests folder
【讨论】:
为测试目标排除某些规则的最佳方法是 nested configuration:您将第二个 .swiftlint.yml 添加到测试目录的根目录,并禁用规则。
disabled_rules:
- weak_delegate
- cyclomatic_complexity
- force_unwrapping
- function_body_length
【讨论】: