在Android"

时间:2017-02-27 11:54:36

标签: android android-studio kotlin android-lint

对于我用Kotlin编写的应用程序,我使用反引号的方法名称进行测试,如下所示:

fun `API login error - don't save token or user`() {

它有效,测试编译和工作没有问题,但Android Studio中的Lint将这些方法标记为错误消息Identifier not allowed in Android

有没有办法抑制这一点,以便Lint检查通过而没有错误,并且在Android Studio中没有用红色下划线标记?

6 个答案:

答案 0 :(得分:37)

根据wnc_21的答案,我发现它可以针对特定范围禁用,在我的情况下,它仅用于测试,所以就是这样。

Android Studio disable inspection for tests scope

答案 1 :(得分:14)

我不确定您是否可以在代码中执行此操作,但您至少可以在IDE中禁用它。转到"文件|设置|编辑|检查|非法的Android标识符"并禁用此检查。

答案 2 :(得分:11)

使用:

@file:Suppress("IllegalIdentifier")

位于文件顶部

答案 3 :(得分:3)

我用

@Suppress("IllegalIdentifier")

例如

@Suppress("IllegalIdentifier")
class SignUpTest {

答案 4 :(得分:0)

有一种方法可以从Lint配置文件中抑制Lint检查,而不是使用@Suppress注释每个单独的文件或其他任何文件。请注意,它仅影响从命令行执行的构建。我仍然没有想出如何让Android Studio使用此配置文件进行代码检查。

Android Gradle插件在DSLlintConfig下有lintOptions个属性。

它允许您指定Lint配置xml文件的路径。该功能已记录在案here

示例Lint配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<lint>
    <!-- Disable the given check in this project -->
    <issue id="IllegalIdentifier">
        <ignore path="**/androidTest/**" />
        <ignore path="**/test/**" />
    </issue>
</lint>

这样,代码检查配置是代码库的一部分,并在所有开发人员之间共享。

答案 5 :(得分:0)

当我打算将一个新的测试类添加到 test 包中但错误地将它添加到 androidTest 时,我遇到了这个错误。

将类移入正确的 test 包后,问题得到解决。