2013-07-01 4 views
8
import static org.junit.matchers.JUnitMatchers.both; 
import static org.junit.matchers.JUnitMatchers.containsString; 

अब मैं जाँच यह foo होता है और नीचे के रूप में बार ...(.... वर्तमान में उपयोग कर assertThat ... दोनों ... और) एक JUnitMatchers AssertThat परीक्षण करने के लिए स्ट्रिंग 3 या उससे अधिक उप तार शामिल करना चाहते हैं

 Assert.assertThat(text, 
      both(containsString("foo")). 
      and(containsString("bar"))); 

परीक्षण करने का सबसे साफ तरीका यह भी जांचने के लिए है कि इसमें 3 या अधिक तार हैं 'फू', 'बार' और 'बाज'?

उत्तर

16

उपयोग AllOf

Assert.assertThat(test, CoreMatchers.allOf(
     containsString("foo"), 
     containsString("bar"), 
     containsString("bar2"), 
     containsString("ba3"))); 
2

मैं शुद्ध JUnit में एक सुंदर तरीका नहीं पता, लेकिन आप Fixtures for Easy Software Testing

पर एक नज़र डालें मैं पिछले कुछ समय से यह उपयोग कर रहा हूँ सकता है और यह इसलिए की तरह बना देता है बहुत आसान।

assertThat(text).contains("foo").contains("bar"); 
+0

+1 फेस्ट/[AssertJ] (http://joel-costigliola.github.io/assertj/)। आप 'assertThat (text) .contains ("foo", "bar", "baz") का उपयोग कर सकते हैं; '- यह और भी संक्षिप्त है। – Jonathan

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