Я пишу приемочный тест, используя Specs2.
Я хочу использовать ImpermanentGraphDatabase
, чтобы иметь график Neo4j в памяти; идеально подходит для интеграционного тестирования.
Я настроил Spring-Data для Neo4j, и моя конфигурация файла Spring содержит:
<bean id="graphDatabaseService" class="org.neo4j.test.ImpermanentGraphDatabase" destroy-method="shutdown"/>
Интересно, учитывается ли вариант destroy-method="shutdown"
со Specs2 вместо обычного JUnit
, чтобы изолировать example
каждой спецификации.
Подводя итог: Будет ли каждый example
иметь собственный экземпляр графа в памяти или он будет общим для всех?
Я предполагаю, что это неприменимо, поскольку spec2 использует один и тот же экземпляр Specification
для выполнения всех этих примеров Spec. Действительно, с функциональным стилем Specs2 вызывается только метод is()
, объединяющий все примеры в один экземпляр.
Я также пытался реализовать трейт BeforeExample
, чтобы очищать базу данных в каждом example
, но... со стилем Given/Then/When кажется, что целое рассматривается как уникальное example
. Действительно, разделителем является ^
вместо традиционного !
, последний представляет один example
.
Я хочу очищать базу данных в памяти (ImpermanentGraphDatabse
) перед каждым шагом (Given
или When
или Then
шагом)