我正在使用Specs2编写一个验收测试。
我想使用ImpermanentGraphDatabase来获得内存中的Neo4j图;是集成测试的理想选择。
我为Neo4j设置了Spring,我的Spring文件配置包含:
<bean id="graphDatabaseService" class="org.neo4j.test.ImpermanentGraphDatabase" destroy-method="shutdown"/>我不知道destroy-method="shutdown"是否考虑到了Specs2而不是通常的JUnit,以便隔离每个JUnit的example。
总而言之:每个example 都会有自己的内存中的图形实例,还是共享给所有的??
我想这是不适用的,因为specs2在所有这些规范的示例执行中都使用相同的Specification实例。实际上,使用Specs2 2的函数样式,只有is()方法被称为在一个实例中生成所有示例。
我还试图实现BeforeExample特性,以便清理每个example上的数据库,但是.在给定/然后/何时样式的情况下,整体似乎被认为是唯一的example。实际上,分隔符是^,而不是传统的!,后者代表一个example。
我想在每个步骤(Given、When或Then步骤)之前清除内存中的数据库(Then)。
发布于 2013-01-24 22:49:20
我对您的问题的理解是,在每组给定/何时/然后的步骤之前,您都需要一个“新鲜”数据库。
为了做到这一点,您可以:
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 }https://stackoverflow.com/questions/14503871
复制相似问题