Осторожный для не использования эти input
функция, если Вы не знаете то, что Вы делаете. В отличие от этого raw_input
, input
примет любое выражение Python, таким образом, оно отчасти похоже eval
Используя JUnit 4.4, вы можете использовать assertThat ()
вместе с кодом Hamcrest (не волнуйтесь, он поставляется с JUnit, нет необходимости в дополнительный .jar
) для создания сложных самоописывающих утверждений, включая те, которые работают с коллекциями:
import static org.junit.Assert.assertThat;
import static org.junit.matchers.JUnitMatchers.*;
import static org.hamcrest.CoreMatchers.*;
List<String> l = Arrays.asList("foo", "bar");
assertThat(l, hasItems("foo", "bar"));
assertThat(l, not(hasItem((String) null)));
assertThat(l, not(hasItems("bar", "quux")));
// check if two objects are equal with assertThat()
// the following three lines of code check the same thing.
// the first one is the "traditional" approach,
// the second one is the succinct version and the third one the verbose one
assertEquals(l, Arrays.asList("foo", "bar")));
assertThat(l, is(Arrays.asList("foo", "bar")));
assertThat(l, is(equalTo(Arrays.asList("foo", "bar"))));
Используя этот подход, вы автоматически получите хорошее описание утверждения, когда оно терпит неудачу.
Не напрямую, нет. Я предлагаю использовать Hamcrest , который предоставляет богатый набор правил сопоставления, который хорошо интегрируется с jUnit (и другими средами тестирования)