2009-10-19 24 views
6

İkili dışındaki tüm temel değerler için Junit4'te Assert.assertArrayEquals() yöntemleri var gibi görünür, ör.Neden junit4 çift [] için Assert.assertArrayEquals() bulunmuyor?

Assert.assertArrayEquals(int[] expected, int[] actual) 

ve

Assert.assertArrayEquals(char[] expected, char[] actual) 

ancak

Assert.assertArrayEquals(double[] expected, double[] actual, double eps) 

veya

Assert.assertArrayEquals(double[] expected, double[] actual, double[] eps) 

(ikinci katına değişken aralıkları için hesap için). Böyle bir işlevi yazmamamın temel bir nedeni var mı?

cevap

6

Çevrimiçi javadoc here'da belgelenmemiş olsa da, böyle bir yöntemi (4.7'de) vardır. Javadoc/sürümünde kesinlikle bir gözetim vardı, ama şimdi var.

7

Yöntem, JUnit 4.6'ya eklenmiş gibi görünüyor, ancak bazı nedenlerle 4.5 ve önceki sürümlerde eksik. Daha yeni bir JUnit sürümüne yükseltme yapmakta herhangi bir sorun beklemezdim.

1

JUnit hata veritabanına göre, "working on it". Diğer cevaplara dayanarak, hata veri tabanının gerçekle tamamen eşleşmediği anlaşılıyor.

0

sadece kullanın:

AssertTrue(**message**, Arrays.equals(**expected**,**result**) 
beklenen karşı Sen Test etmek için sonuç değerlerini yuvarlamak için gerekebilir

:

public double roundTo2Decimals(double val) { 
    DecimalFormat df2 = new DecimalFormat("###.####"); 
    return Double.valueOf(df2.format(val)); 
} 

fazla bilgi

için javdoc bakın
İlgili konular