不能在Kotlinunit testing(ExecutionException,Aapt2Exception)

一个简单的测试…

import org.junit.Test class KotlinUnitTest { @Test fun test() { assert(true) } } 

…结果如下…

 Information:Gradle: Executing tasks: [:app:assembleDebug, :app:assembleDebugUnitTest] Information:Kotlin: Kotlin JPS plugin is disabled Information:Module "app" was fully rebuilt due to project configuration/dependencies changes Information:06/12/2017 5:08 PM - Compilation completed with 3 errors and 0 warnings in 19s 962ms Error:Gradle: java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details Error:Gradle: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details Error:Gradle: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details 

每次运行测试时,将android.enableAapt2=false添加到gradle.properties (或gradle-wrapper.properties )中,使得Android Studio无限期地停止。

这很奇怪,因为我可以…

  • 运行我的制作应用程序(充满Kotlin文件)
  • Java中的unit testing

但是,无论什么原因,我都不能在科特林考

我有同样的问题。 对于一个简单的测试:

 @RunWith(RobolectricTestRunner::class) @Config(constants = BuildConfig::class) class MainActivityTest { private lateinit var activityController: ActivityController @Before @Throws(Exception::class) fun setUp() { activityController = Robolectric.buildActivity(MainActivity::class.java) activityController.create().start().resume() } @Test @Throws(Exception::class) fun testNotBeNull() { assertNotNull(activityController.get()) } } 

更新到最新的Kotlin版本1.1.60和Gradle 3.0.1解决它。