2015-10-31 11 views
6

साथ मैं Kotlin के साथ एक उम्मीद अपवाद घोषित किया है:उपयोग ExpectedException Kotlin

@Rule 
public var exception = ExpectedException.none() 

अब मेरी एकीकरण परीक्षण का मामला:

org.junit.internal.runners.rules.ValidationError: The @Rule 'exception' must be public. 

है:

@Test 
@Transactional 
fun authorize_withInvalidToken() 
{ 
    val response = controller.authorize(networkType = "facebook", oauthToken = "", oauthTokenSecret = null) 
    exception.expect(UnauthorizedException::class.java) 

} 

मैं त्रुटि मिलती है इसे ठीक करने का कोई तरीका है? अब मैं सिर्फ मैनुअल ट्राई/कैच इस्तेमाल करेंगे के लिए/जोर

उत्तर

7

@JvmField साथ अपवाद संपत्ति पर टिप्पणी करें:

@Rule 
@JvmField 
var exception = ExpectedException.none() 
+0

धन्यवाद, कि काम करता है। हालांकि मैं इसे अपवाद पकड़ने के लिए नहीं मिला - यकीन नहीं क्यों। मैं कोशिश/पकड़/जोर से वापस चला गया। –

+1

अपवाद को फेंकने वाला अपवाद। एक्सप्पेक्ट() ** ** से पहले होना चाहिए जो अपवाद फेंकता है। –

+1

"सार्वजनिक" यहां अनावश्यक है क्योंकि यह क्षेत्र/संपत्ति दृश्यता के लिए डिफ़ॉल्ट है। – Bombe