В настоящее время я использую GraphUnit, Spock и сервер Neo4j в процессе для проведения интеграционного тестирования моего приложения Spring Data Neo4j 4.0.
Это был очень удобный инструмент для проверки состояния базы данных графа после моих тестовых операций, но я заметил, что для того, чтобы assertGraph
и printGraph
GraphUnit показывали мне то, что я ожидаю, мои транзакции Neo4j должны быть зафиксированы в первую очередь. Логически это имеет для меня смысл, но это также означает, что я не могу пометить свои интеграционные тесты @Transactional
и что любые изменения данных, внесенные в базу данных в процессе в одном тесте, будут просачиваться в последующие тесты.
Я справляюсь с этим, очищая базу данных после каждого метода тестирования в методе приспособления Spock, и это отлично работает, но мне бы очень хотелось иметь возможность:
- Настройте тестовый набор данных Neo4j ОДИН РАЗ
- Откат изменений метода тестирования после каждого теста
- Тем не менее каким-то образом можно использовать утилиты утверждения и печати GraphUnit.
Мой вопрос: есть ли способ выполнить все три? Является ли это базовым требованием/предположением, что транзакции фиксируются, если я хочу использовать GraphUnit?