Как организовать интеграционные тесты?

При записи модульных тестов у меня обычно есть один тестовый класс в производственном классе, таким образом, моя иерархия посмотрит что-то как этот:

src/main
  -package1
    -classA
    -classB
  -package2
    -classC
src/test
  -package1
    -classATests
    -classBTests
  -package2
    -classCTests

Однако при выполнении интеграционных тестов организация становится менее твердой. Например, у меня может быть тестовый класс, который тестирует classA и classB в соединении. Куда Вы поместили бы его? Что относительно тестового класса, который тестирует classA, classB и класс вместе?

Кроме того, интеграционные тесты обычно требуют внешних свойств или конфигурационных файлов. Куда Вы размещаете их, и Вы используете какое-либо соглашение о присвоении имен для них?

13
задан Burt 11 February 2010 в 23:28
поделиться

3 ответа

Наши интеграционные тесты обычно организованы так же, как и наши спецификации. И они, как правило, собираются по категориям и / или функциям.

2
ответ дан 2 December 2019 в 02:05
поделиться

Может быть, создать каталог интеграционных тестов в src / test ? Конечно, для интеграционных тестов разделение становится менее четким, но есть что-то, что группирует A, B и C вместе, не так ли? Я бы начал с этого и посмотрел, как идут дела. Трудно сразу придумать идеальное решение, и «ОК» лучше, чем отсутствие решения.

1
ответ дан 2 December 2019 в 02:05
поделиться

Похоже, что ваши интеграционные тесты являются модульными тестами более высокого уровня, поскольку вы все равно привязываете их к одному или нескольким классам. Попробуйте выбрать из группы класс, который зависит от всех остальных (транзитивно), и связать тест с таким классом.

Если у вас настоящие интеграционные тесты, то ассоциация с конкретными классами не имеет большого значения. Затем тесты классифицируются по предметным областям приложения (доменам) и по типам функциональности. Например, доменами являются заказы, поставки, счета, права и т.д., а типами функциональности - транзакционные, веб-, обмен сообщениями, пакетные и т.д. Их перестановки дадут вам хороший первый срез того, как организовать интеграционные тесты.

1
ответ дан 2 December 2019 в 02:05
поделиться
Другие вопросы по тегам:

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