क्या जेनेरिक मापदंडों के साथ एक वर्ग का मजाक उड़ाने का एक साफ तरीका है? कहते हैं कि मुझे एक वर्ग का मज़ाक उड़ाना होगा Foo<T>
जो मुझे एक ऐसी विधि में पारित करने की आवश्यकता है जो उम्मीद करता है कि ए Foo<Bar>
। मैं निम्नलिखित आसानी से पर्याप्त कर सकते हैं:
Foo mockFoo = mock(Foo.class);
when(mockFoo.getValue).thenReturn(new Bar());
मान लें getValue()
कि सामान्य प्रकार देता है T
। लेकिन जब मुझे बाद में उम्मीद है कि इसे एक विधि के रूप में पारित किया जाएगा, तो बिल्ली के बच्चे होने वाले हैं Foo<Bar>
। क्या ऐसा करने का एकमात्र साधन कास्टिंग है?