JUnit, IntegrationTest и порядок выполнения тестов - PullRequest
0 голосов
/ 08 мая 2020

Junit - это фреймворк для модульного тестирования, но он также используется для интеграционного тестирования. Поведение, необходимое для модульного тестирования и интеграционных тестов, отличается. Модульные тесты должны быть изолированы от других тестов. Но интеграционные тесты требуют взаимодействия между последовательными тестами. В моем случае сценарий выглядит следующим образом. Каждая строка требует объект из предыдущего выполнения. Чтобы добиться такого поведения, должен быть порядок выполнения тестов. Есть аннотация @Order, но эта аннотация упорядочивает методы одного класса. Но в моем случае нецелесообразно хранить эти тесты в одном классе.

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

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

  • Увеличивает требуемое время выполнения.
  • Увеличивает сложность для одного теста.

Итак, есть ли способ заказать свои тесты в Юнит, что мне не хватает? Если нет, то почему это не так? Стоит ли использовать другой инструмент?

...