में संग्रह में कुछ वस्तुओं के आकार और उपस्थिति की जांच कैसे करें मैं हैमक्रिस्ट 1.3 का उपयोग कर रहा हूं और अधिक कॉम्पैक्ट तरीके से निम्नलिखित प्राप्त करने का प्रयास कर रहा हूं।हैमक्रिस्ट
परीक्षण का मामला निम्नलिखित पर विचार करें:
@Test
public void testCase() throws Exception {
Collection<String> strings = Arrays.asList(
"string one",
"string two",
"string three"
);
// variant 1:
assertThat(strings, hasSize(greaterThan(2)));
assertThat(strings, hasItem(is("string two")));
// variant 2:
assertThat(strings, allOf(
hasSize(greaterThan(2)),
hasItem(is("string two"))
));
}
यहां लक्ष्य और कुछ विशिष्ट आइटम संग्रह के दोनों आकार के लिए जाँच करने के लिए शामिल किया जाना है।
जहां पहली भिन्नता संभव है और स्वीकार किया जाता है, यह हमेशा ऐसा करना आसान नहीं होता है, क्योंकि संग्रह स्वयं ही कुछ अन्य परिचालनों का परिणाम होता है और इसलिए allOf
का उपयोग करके सभी परिचालनों को करने में अधिक समझदारी होती है ऑपरेशन। जो ऊपर दूसरे बदलाव में किया जाता है।
error: no suitable method found for allOf(Matcher<Collection<? extends Object>>,Matcher<Iterable<? extends String>>)
है वास्तव में आकार और एक भी गोली आपरेशन का उपयोग कर Hamcrest में एक संग्रह के आइटम (के लिए परीक्षण के किसी भी विशिष्ट तरीके से की तरह वहाँ:
हालांकि दूसरी भिन्नता संकलन समय त्रुटि निम्नलिखित में परिणाम होगा की कोड युक्त allOf
)?
संबंधित https://stackoverflow.com/questions/21624592/hamcrest-compare-collections/44030511#44030511 – rvazquezglez
@rvazquezglez भावना है कि वे दोनों कर रहे हैं में संबंधित hamcrest और संग्रह के बारे में;) अन्यथा खिताब फिर से पढ़ा! – mohamnag