क्या जुनीट में दो तरह के टाइप किए गए सरणी पर समानता करने के लिए एक संक्षिप्त, अंतर्निहित तरीका है? डिफ़ॉल्ट रूप से (कम से कम जुनीट 4 में) ऐसा लगता है कि एक उदाहरण एरे ऑब्जेक्ट पर ही तुलना करता है।जुनीट दावे में सरणी की तुलना, संक्षिप्त अंतर्निहित तरीके से?
ईजी, काम नहीं करता:
int[] expectedResult = new int[] { 116800, 116800 };
int[] result = new GraphixMask().sortedAreas(rectangles);
assertEquals(expectedResult, result);
बेशक
, मैं इसे मैन्युअल रूप से कर सकते हैं के साथ:
assertEquals(expectedResult.length, result.length);
for (int i = 0; i < expectedResult.length; i++)
assertEquals("mismatch at " + i, expectedResult[i], result[i]);
..लेकिन वहाँ एक बेहतर तरीका है?
assertTrue(Arrays.equals(expectedResult, result));
क्या बदबू आ रही है कि हालांकि के बारे में आप क्या गलत हो गया था जब यह विफल के बारे में कोई डेटा प्राप्त है। – mBria
अच्छा जब आप पुराने जूनिट संस्करण (एंड्रॉइड की तरह) पर हैं – Zitrax
यदि आप देखना चाहते हैं कि कौन से बाइट मेल नहीं खाते हैं तो आप उन्हें स्ट्रिंग में परिवर्तित कर सकते हैं: assertEquals (Arrays.toString (अपेक्षितResult), Arrays.toString (परिणाम)) ; – Erdem