Существует ли хранилище предварительно созданных тестов JUnit для распространенных интерфейсов Java? - PullRequest
2 голосов
/ 12 октября 2010

В этом семестре я преподаю класс структур данных, и мы создаем множество тестов JUnit с учетом интерфейсов компонентов.Затем мы используем setUp для подключения конкретной конкретной реализации.В большинстве случаев мы реализуем интерфейсы java.util.Существует ли общий набор строгих тестов JUnit для общих компонентов Java или какая-то платформа, которая делает разработку тестовых примеров менее болезненной?

Ответы [ 3 ]

2 голосов
/ 12 октября 2010

Hamcrest предоставляет несколько сопоставлений, специфичных для карт и коллекций.
Вы можете найти их в учебнике .

(JUnit 4.x содержитHamcrest)

Пример кода:

import static org.junit.Assert.*;
import static org.junit.matchers.JUnitMatchers.*;
import java.util.Arrays;
import java.util.Collection;
import org.junit.Test;

public class DummyTest{

    @Test
    public void someTest(){

        final Collection<Integer> coll = Arrays.asList(1, 2, 3, 4, 5);
        assertThat(coll, hasItems(5, 4, 3, 2, 1));
        assertThat(coll, not(hasItems(6)));
        assertThat(coll,
            both(
                is(List.class)
            ).and(
                equalTo(
                    Arrays.asList(
                        0x1,0x2,0x3,0x4,0x5
                    )
            )
        ));

    }



}

Ваша основная отправная точка будет следующие удобные классы:

2 голосов
/ 12 октября 2010

Для этих целей макет может быть самым простым способом использования "конкретных" реализаций, используемых в модульных тестах. Одним из лучших является Mockito .

1 голос
/ 12 октября 2010

Вы можете посмотреть, как Apache Harmony и GNU Classpath тестируют свои соответствующие реализации классов java.util в чистых комнатах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...