2015-12-18 9 views
6

मैं जुनीट और हैमक्रिस्ट का उपयोग करके एक यूनिट टेस्ट लिख रहा हूं। मैं का उपयोग कर डबल मानों की तुलना की गई है:मैं जुनीट और हैमक्रिस्ट का उपयोग करके युगल की तुलना कैसे करूं?

assertThat(result, is(0.5)); 

हालांकि, मैं अब गणना मूल्यों की तुलना करने की जरूरत रही हूं और मुझे पूरा डबल मूल्य के खिलाफ तुलना करने के लिए नहीं करना चाहती। इसके बजाय, मैं निकटता के लिए तुलना करना चाहता हूँ।

मैंने IsCloseTo नामक एक कक्षा की खोज की है, लेकिन मुझे यकीन नहीं है कि इसे assertThat में कैसे उपयोग करें और मुझे कोई उदाहरण ऑनलाइन नहीं मिल रहा है।

निम्नलिखित कुछ करने के लिए सही वाक्यविन्यास क्या है?

// I can't do this as I need to know what methods/classes whatever I should be using 
// isCloseTo doesn't exist. 
assertThat(result, isCloseTo(0.5, 0.1)); 

उत्तर

10

आपको Matchers.closeTo(double, double) पर कॉल करने में सक्षम होना चाहिए। एक स्थिर आयात के साथ, ऐसा लगता है कि:

assertThat(result, closeTo(0.5, 0.1)); 
+2

उन है कि इसके लिए खोज कर रहे हैं के लिए पूर्ण स्थिर आयात है: आयात स्थिर org.hamcrest.Matchers.closeTo; – Necrototem

0

बस इसे बाहर काम किया, is वास्तव में एक Is वस्तु देता है, इसलिए सभी मुझे क्या करना जरूरी था:

assertThat(result, new IsCloseTo(0.5, 0.1)); 

nickb से जवाब हालांकि बेहतर है।

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

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