首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Specs2 2/Neo4j-使用ImpermanentGraphDatabase和Specs2

Specs2 2/Neo4j-使用ImpermanentGraphDatabase和Specs2
EN

Stack Overflow用户
提问于 2013-01-24 14:39:51
回答 1查看 178关注 0票数 0

我正在使用Specs2编写一个验收测试。

我想使用ImpermanentGraphDatabase来获得内存中的Neo4j图;是集成测试的理想选择。

我为Neo4j设置了Spring,我的Spring文件配置包含:

代码语言:javascript
复制
<bean id="graphDatabaseService" class="org.neo4j.test.ImpermanentGraphDatabase" destroy-method="shutdown"/>

我不知道destroy-method="shutdown"是否考虑到了Specs2而不是通常的JUnit,以便隔离每个JUnitexample

总而言之:每个example 都会有自己的内存中的图形实例,还是共享给所有的?

我想这是不适用的,因为specs2在所有这些规范的示例执行中都使用相同的Specification实例。实际上,使用Specs2 2的函数样式,只有is()方法被称为在一个实例中生成所有示例。

我还试图实现BeforeExample特性,以便清理每个example上的数据库,但是.在给定/然后/何时样式的情况下,整体似乎被认为是唯一的example。实际上,分隔符是^,而不是传统的!,后者代表一个example

我想在每个步骤(GivenWhenThen步骤)之前清除内存中的数据库(Then)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-24 22:49:20

我对您的问题的理解是,在每组给定/何时/然后的步骤之前,您都需要一个“新鲜”数据库。

为了做到这一点,您可以:

  • 在给定/时间/然后的每组步骤之前显式指定操作 步骤(CleanupDatabase)^“给定的-时间-然后给出下列数字的加法”^的例子:${1}“^ number1 ^”和第二个数字:${2}“^ number2 ^”和第三个数字:${3}“^ number3 ^ end^ Step(cleanupDatabase) ^”给定以下数字的加法“^”:${1}“^ number1 ^”和第二个数字:${2}“^ number2 ^”和第三个数字:${3}“^ number3 ^ end”
  • 使用函数声明每个组,并在每个组之前映射一个清理步骤。 def first example =“一个给定的时-然后加上”^“的示例,给出以下数字:${1}”^ number1 ^和第二个数字:${2}“^ number2 ^”和第三个数字:${3}“^ number3 ^number3^ second example =“给定时间-然后给出下列数字的加法”^的示例:${1}“^ number1 ^”和第二个数字:${2}“^ number2 ^”和第三个数字:${3}“^ number3 ^ end def = Seq(first example,(second example).foldLeft(步骤():片段){ ( res,cur) => res^ Step(cleanupDatabase) ^ cur }
  • 使用 function of the Specification进行一般性操作 覆盖def map(fs:=>Fragments) = fs.flatMap { //清理G/W/T块结束处的数据库,如果f == end => Seq(Step(cleanDatabase),end)使用其他=> Seq(其他)}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14503871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档