不能在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解决它。