/
BasicInstrumentedTests.kt
78 lines (64 loc) · 2.24 KB
/
BasicInstrumentedTests.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
package org.mockitousage.androidtest
import androidx.test.ext.junit.runners.AndroidJUnit4
import org.junit.After
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mock
import org.mockito.MockitoAnnotations
import org.mockito.Mockito.mock
import org.mockito.Mockito.verify
@RunWith(AndroidJUnit4::class)
class BasicInstrumentedTests {
private var closeable: AutoCloseable? = null
@Mock private lateinit var mockedViaAnnotationBasicOpenClass: BasicOpenClass
@Mock private lateinit var mockedViaAnnotationBasicInterface: BasicInterface
@Before
fun setup() {
closeable = MockitoAnnotations.openMocks(this)
}
@After
@Throws(Exception::class)
fun releaseMocks() {
closeable?.close()
}
//Open class
@Test
fun mockAndUseBasicClassUsingAnnotatedMock() {
val basicClass = BasicOpenClassReceiver(mockedViaAnnotationBasicOpenClass)
basicClass.callDependencyMethod()
throw Exception("java")
}
@Test
fun mockAndUseBasicClassUsingLocalMock() {
val basicOpenClass = mock(BasicOpenClass::class.java)
val basicReceiver = BasicOpenClassReceiver(basicOpenClass)
basicReceiver.callDependencyMethod()
}
@Test
fun mockAndUseBasicClassWithVerify() {
val basicClass = BasicOpenClassReceiver(mockedViaAnnotationBasicOpenClass)
basicClass.callDependencyMethod()
verify(mockedViaAnnotationBasicOpenClass).emptyMethod()
}
//Interface
@Test
fun mockAndUseBasicInterfaceUsingAnnotatedMock() {
val receiver = BasicInterfaceReceiver(mockedViaAnnotationBasicInterface)
receiver.callInterfaceMethod()
verify(mockedViaAnnotationBasicInterface).interfaceMethod()
}
@Test
fun mockAndUseBasicInterfaceUsingLocalMock() {
val basicInterface = mock(BasicInterface::class.java)
val receiver = BasicInterfaceReceiver(basicInterface)
receiver.callInterfaceMethod()
}
@Test
fun mockAndUseBasicInterfaceAndVerify() {
val basicInterface = mock(BasicInterface::class.java)
val receiver = BasicInterfaceReceiver(basicInterface)
receiver.callInterfaceMethod()
verify(basicInterface).interfaceMethod()
}
}