Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Mockito到mock类的最后一个字段_Android_Kotlin_Mockito_Android Unit Testing - Fatal编程技术网

Android Mockito到mock类的最后一个字段

Android Mockito到mock类的最后一个字段,android,kotlin,mockito,android-unit-testing,Android,Kotlin,Mockito,Android Unit Testing,我试图模仿班上最后一场比赛 data class Student( val id: Int, val name: String, val marks: Marks ) data class Marks( val subject1: String ) 这是我的测试课 class StudentTest { @Test fun testStudentMarks() { val student = mock(Student::cla

我试图模仿班上最后一场比赛

data class Student(
    val id: Int,
    val name: String,
    val marks: Marks
)

data class Marks(
    val subject1: String
)
这是我的测试课

class StudentTest {

    @Test
    fun testStudentMarks() {
        val student = mock(Student::class.java)
        assertNotNull(student.id)
        assertNotNull(student.marks)
    }

}
在运行测试时,它通过student.id,但在student.marks上失败,错误如下

junit.framework.AssertionFailedError
    at junit.framework.Assert.fail(Assert.java:55)
    at junit.framework.Assert.assertTrue(Assert.java:22)
    at junit.framework.Assert.assertNotNull(Assert.java:256)
    at junit.framework.Assert.assertNotNull(Assert.java:248)
    at com.example.mockitotest.StudentTest.testStudentMarks(StudentTest.kt:16)

既然它是一个
Kotlin
类,那么如何模拟标记字段呢

Mockito.when(student.id).thenReturn(0)

val m = Mockito.mock(Marks::class.java)
Mockito.when(student.marks).thenReturn(m)