0

我有一个利用 Spring Data Neo4J 的 Spring Boot 应用程序。我在我的项目中使用以下依赖项。

  1. Neo4j 2.2.5
  2. neo4j ogm 1.1.2
  3. 春季数据neo4j 4.0.0.RELASE
  4. spock-spring 1.0-groovy-2.3。

当我尝试在我的项目中运行示例 spock 测试时,我得到以下堆栈跟踪...

Failed to instantiate [org.neo4j.ogm.session.SessionFactory]: Factory method 'getSessionFactory' threw exception; 
nested exception is java.lang.ClassFormatError: Invalid annotation element type tag: 0x0
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599) ~[spring-beans-4.2.0.RC1.jar:4.2.0.RC1]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1123) ~[spring-beans-4.2.0.RC1.jar:4.2.0.RC1]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1018) ~[spring-beans-4.2.0.RC1.jar:4.2.0.RC1]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510) ~[spring-beans-4.2.0.RC1.jar:4.2.0.RC1]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.2.0.RC1.jar:4.2.0.RC1]
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304) ~[spring-beans-4.2.0.RC1.jar:4.2.0.RC1]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.2.0.RC1.jar:4.2.0.RC1]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300) ~[spring-beans-4.2.0.RC1.jar:4.2.0.RC1]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195) ~[spring-beans-4.2.0.RC1.jar:4.2.0.RC1]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:766) ~[spring-beans-4.2.0.RC1.jar:4.2.0.RC1]
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:812) ~[spring-context-4.2.0.RC1.jar:4.2.0.RC1]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:521) ~[spring-context-4.2.0.RC1.jar:4.2.0.RC1]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:678) [spring-boot-1.3.0.M1.jar:1.3.0.M1]
    at org.springframework.boot.SpringApplication.doRun(SpringApplication.java:339) [spring-boot-1.3.0.M1.jar:1.3.0.M1]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:274) [spring-boot-1.3.0.M1.jar:1.3.0.M1]
    at org.springframework.boot.test.SpringApplicationContextLoader.loadContext(SpringApplicationContextLoader.java:102) [spring-boot-1.3.0.M1.jar:1.3.0.M1]

spock 规范看起来像这样

@ContextConfiguration(loader = SpringApplicationContextLoader.class,classes = TestConfig.class)
class VisitorDomainTestSpec extends Specification {

    @Autowired VisitorRepository visitorRepository

    @Autowired Session session





    def "visitors should be created"()
    {

        given: "A visitor which is saved "
        Visitor visitor = getVisitor()
        visitorRepository.save(visitor)

        when: "We try to retrieve the visitor by name"
        Visitor foundVisitor = findVisitorByProperty("name", visitor.getName()).iterator().next();

        then: "We should be able to retrieve the visitor"
        assertEquals( foundVisitor.id ,visitor.id)
    }

我的 junit 测试通过了,但是当我在这里尝试使用 spock 时我被卡住了。任何指针都会有所帮助......在我的 testConfig 类中,我正在连接一个 InProcessServer..

4

0 回答 0