Kotlin-allopen for android

时间:2017-02-01 10:44:49

标签: android kotlin kotlin-allopen

是否可以使用kotlin-allopen gradle插件进行使用mockito进行Android测试?

我尝试将kotlin-allopen插件添加到build.gradle并定义注释。

buildscript {
   ext.kotlin_version = '1.0.6'

   dependencies {
       classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
       classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version"
   }
}

apply plugin: 'com.android.application'
apply plugin: 'kotlin-allopen'
apply plugin: 'kotlin-android'

allOpen {
    annotation("com.mycompany.OpenForTest")
}

这些用于注释本身

annotation class OpenForTest

这不适合我。也许我错过了什么?

2 个答案:

答案 0 :(得分:2)

是的,你可以。 因为它是一个编译器插件,所以在编译之后你将获得全开代码。 所以它应该适用于测试。 别担心。

编辑:根据评论区域,更新kotlin插件版本似乎工作。目前最新版本为allword = 0 words = 0 average = 0 with open('/home/......', 'r') as f: for i in f: me = i.split() allword += len(me) words += len(i) average += allword / float(words) print average

答案 1 :(得分:0)

首先在您的build.gradle(项目)文件中添加依赖项:

dependencies {
        classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version"
    }

之后,将该插件应用到您的build.gradle(应用程序Mobdule)文件中:

apply plugin: 'kotlin-allopen'

然后指定将打开类的注释列表:

allOpen {
    annotation('com.example.myproject.OpenForTesting')
}

并对要打开的每个类使用此批注

@OpenForTesting

这是有关全开放的Kotlin官方文档:https://kotlinlang.org/docs/reference/compiler-plugins.html

希望获得帮助