मेरे कोड के रूप में नीचे का उपयोग कर Kotlin समारोह पर, https://stackoverflow.com/a/30308199/3286489पैरामीटर में गैर-शून्य के रूप में निर्दिष्ट अशक्त जब Mokito anyObject()
import org.mockito.Mock
import org.mockito.Mockito
import org.mockito.MockitoAnnotations
import org.mockito.Mockito.*
class SimpleClassTest {
private fun <T> anyObject(): T {
Mockito.anyObject<T>()
return uninitialized()
}
private fun <T> uninitialized(): T = null as T
lateinit var simpleObject: SimpleClass
@Mock lateinit var injectedObject: InjectedClass
@Before
fun setUp() {
MockitoAnnotations.initMocks(this)
}
@Test
fun testSimpleFunction() {
simpleObject = SimpleClass(injectedObject)
verify(injectedObject).settingDependentObject(anyObject())
}
}
में समाधान की बात कर रहा है मैं अभी भी नीचे त्रुटि है
java.lang.IllegalArgumentException: Parameter specified as non-null is null: method my.package.InjectedClass.settingDependentObject, parameter dependentObject
क्या मुझे कुछ याद आया?
UPDATED नीचे कोड का परीक्षण किया (सरलतम रूप और काम) डिफ़ॉल्ट Kotlin classes and members are final तक
class SimpleClass(val injectedClass: InjectedClass) {
fun simpleFunction() {
injectedClass.settingDependentObject(DependentClass(Response.Builder().build()))
}
}
open class DependentClass(response: Response) {
}
open class InjectedClass() {
lateinit var dependentObject: DependentClass
fun settingDependentObject(dependentObject: DependentClass) {
this.dependentObject = dependentObject
}
}
मेरा इंजेक्शनऑब्जेक्ट क्लास पहले से ही एक खुली कक्षा है। सेटिंग पर निर्भर ऑब्जेक्ट को एक गैर-शून्य वस्तु की आवश्यकता होती है, लेकिन कोई ऑब्जेक्ट() शून्य देता है। यही कारण है कि मैंने सोचा कि http://stackoverflow.com/a/30308199/3286489 में समाधान मुझे शून्य आवश्यक समस्या को दूर करने में मदद करेगा। लेकिन यह अभी भी काम नहीं कर रहा है। – Elye
@Elye कृपया प्रश्न – miensol
पर 'इंजेक्शन क्लास' स्रोत जोड़ें ऊपर दिए गए अद्यतन पर परीक्षण करने के लिए कक्षा को जोड़ा गया। धन्यवाद! – Elye