Я занимаюсь модульным тестированием доменной логики и доменных объектов, поддерживаемых базой данных neo4j. Большинство из этих тестов должны подделывать neo4j GraphDatabaseService
, различные Nodes
и различные Relationships
. Некоторые из смоделированных методов возвращают эти смоделированные объекты. Например, вызов getReferenceNode () возвращает смоделированный узел, или вызов getSingleRelationship () возвращает смоделированную связь, в свою очередь getEndNode () возвращает поддельный узел.
Меня беспокоит количество насмешек, возвращающих насмешки, возвращающих насмешки. Обычно это не рекомендуется. Это, безусловно, усложняет настройку теста и приводит к довольно хрупким тестам, потому что так много уровней функциональности neo4j нужно проверять.
Есть ли способ избежать этого при модульном тестировании доменной логики с поддержкой neo4j?