"Unresolved reference: Pair" using Kotlin with Robolectric
我试着把Robolectric添加到一个使用
android.util.Pair
的项目中,这样我就可以对相关的类进行单元测试。 这个项目是用java的,但单元测试都是用Kotlin的(到目前为止)。
When I try to run the unit tests, I get the error:
:app:createMockableJar UP-TO-DATE
e: E:\...\TestK.kt: (3, 21): Unresolved reference: Pair
e: E:\...\TestK.kt: (12, 17): Unresolved reference: Pair
:app:compileDebugUnitTestKotlin FAILED
我创建了一个简单的测试案例。
import android.util.Pair
import org.junit.Assert.assertEquals
import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner
@RunWith(RobolectricTestRunner::class)
class TestK {
@org.junit.Test
fun testk() {
val p = Pair.create("Foo", "Bar")
assertEquals("Foo", p.first)
assertEquals("Bar", p.second)
这就产生了错误,但如果我在java中创建同样的测试,它就能正常工作。
import android.util.Pair;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import static org.junit.Assert.assertEquals;
@RunWith(RobolectricTestRunner.class)
public class Test
@org.junit.Test
public void test()
Pair<String, String> p = Pair.create("Foo", "Bar");
assertEquals("Foo", p.first);
assertEquals("Bar", p.second);
有什么想法,可能是什么问题?
我的gradle文件有以下部署。
apply plugin: 'com.android.application'
apply plugin: "kotlin-android"
... stuff ...
testImplementation 'junit:junit:4.12'
testImplementation "org.robolectric:robolectric:4.0.1"
而我使用的是Kotlin 1.3