2015-12-01 8 views
15

मैं किसी भी प्रलेखन बताते हैं कि अतिभारित तरीकों कि scalamock जैसे में कोई तर्क लेScalamock पैरामीटर के बिना 3. नकली अतिभारित विधि

public boolean isInfoEnabled(Marker marker); 
public boolean isInfoEnabled(); 

समारोह है कि मार्कर लेता नकली करने के लिए उपहास करने के लिए कैसे, एक कर सकते हैं नहीं मिल सका बस

(loggerMock.isInfoEnabled(_: Marker)).expects(*).returning(true) 

लेकिन यह कैसे उपयोग करने वाले अन्य विधि यह है कि कोई पैरामीटर लेता उपहास करने के लिए? किसी भी मदद की सराहना की है।

उत्तर

19

मैं अंत में यह समझ से बाहर:

(loggerMock.isInfoEnabled:() => Boolean).expects().returning(true) 

यह issue मुझे एक बहुत मदद की। इस दस्तावेज की तरह कुछ भी अच्छा होगा।

+3

यह निश्चित रूप से दस्तावेज किया जाना चाहिए। मैंने इसके बारे में एक घंटे बिताया। मैं दस्तावेज़ों में इसके लिए एक पुल अनुरोध जमा करने पर विचार कर रहा हूं। – EmptyFlash

+0

अभी तक इसे स्वीकार किया गया था? – sam

+0

महान सहायता। भाग्यशाली अगर Google में खोजने में काफी आसान था। –

2

मैं इस दृष्टिकोण का उपयोग कर उपयोग कर रहा था जब तक मुझे एहसास हुआ कि स्कैला 2.12+ में यह समाधान बहिष्कृत है।

आप कुछ शोध मैं इस समाधान में पता चला के बाद की तरह

Eta-expansion of zero-argument method values is deprecated. 

एक चेतावनी मिल जाएगा:

(loggerMock.isInfoEnabled _).expects().returning(true) 

या

import scala.language.postfixOps 
loggerMock.isInfoEnabled _ expects() returning true 
+0

यह 2.12+ एनबी में संकलित करता है: IntelliJ – pgn

3

स्केला 2.12 में यह भी काम करता है (कोई निरीक्षण Intellij के लिए):

//noinspection ConvertibleToMethodValue 
(tailer.run _:() => Unit) expects() 
+0

ty पर एक फर्जी संकलन त्रुटि को बढ़ाता है। यह एकमात्र तरीका है जो मेरे लिए काम करता है। – acumartini

संबंधित मुद्दे