CodeNarc - 确定 class 是否为 Grails 集成测试

CodeNarc - determine if a class is a Grails integration test

我想编写自定义 CodeNarc 规则来验证 Grails 集成测试的某些方面 类。例如Spock 集成测试应该扩展 IntegrationSpec;不是规范。

但要做到这一点,我需要在访问规则中的 类 时过滤集成测试,但我不知道该怎么做。

一个想法是查看源文件路径,看看它是否在test/integration中,但我不知道是否可以获取文件的源路径。?还有其他想法吗?

您绝对可以根据路径(以及class名称)来限制规则应用。查看 configuring rules CodeNarc 页面。

特别是,您可能正在寻找 applyToClassNamesdoNotApplyToClassNames 属性或 applyToFileNamesdoNotApplyToFileNames 属性,这些属性应该在任何内置规则和扩展提供的 AbstractRule class.

的任何自定义规则