CollectionAssert в jUnit?

Осторожный для не использования эти input функция, если Вы не знаете то, что Вы делаете. В отличие от этого raw_input, input примет любое выражение Python, таким образом, оно отчасти похоже eval

83
задан Neuron 19 February 2019 в 14:16
поделиться

2 ответа

Используя 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"))));

Используя этот подход, вы автоматически получите хорошее описание утверждения, когда оно терпит неудачу.

123
ответ дан 24 November 2019 в 08:54
поделиться

Не напрямую, нет. Я предлагаю использовать Hamcrest , который предоставляет богатый набор правил сопоставления, который хорошо интегрируется с jUnit (и другими средами тестирования)

4
ответ дан 24 November 2019 в 08:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: