로컬로 전달되는 Spock 기반 유닛 테스트 세트를 가지고 있는데, 다음 두 가지 예외가 CI (Jenkins) 서버에 기록됩니다. 일부 테스트는 두 예외 모두에서 실패하지만 일부 테스트는 첫 번째 테스트에서만 실패합니다.Grails Spock 유닛 테스트는 국지적으로 통과하지만 CI 환경에서는 실패합니다.
모든 테스트는이 예외와 함께 실패 :에 대한 제약을 테스트하는이 단위 테스트에서
java.lang.NullPointerException: Cannot invoke method isActive() on null object
at grails.test.mixin.support.GrailsUnitTestMixin.shutdownApplicationContext(GrailsUnitTestMixin.groovy:232)
at org.spockframework.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:138)
at org.spockframework.runtime.extension.builtin.JUnitFixtureMethodsExtension$FixtureType$FixtureMethodInterceptor.intercept(JUnitFixtureMethodsExtension.java:145)
at org.spockframework.runtime.extension.MethodInvocation.proceed(MethodInvocation.java:84)
at org.spockframework.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:138)
, 내가 뭘 모든입니다 :
Account field name is nullable using null(com.vsnap.site.entities.account.organization.OrganizationSpec)
|
java.lang.IllegalStateException: Already value [[email protected]] for key [[email protected]] bound to thread [main]
at org.grails.datastore.mapping.core.DatastoreUtils.bindSession(DatastoreUtils.java:337)
at grails.test.mixin.domain.DomainClassUnitTestMixin.connectDatastore(DomainClassUnitTestMixin.groovy:108)
at org.spockframework.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:138)
at org.spockframework.runtime.extension.builtin.JUnitFixtureMethodsExtension$FixtureType$FixtureMethodInterceptor.intercept(JUnitFixtureMethodsExtension.java:145)
at org.spockframework.runtime.extension.MethodInvocation.proceed(MethodInvocation.java:84)
at org.spockframework.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:138)
at org.spockframework.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:138)
at org.spockframework.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:138)
일부는 처음 이외에이 실패 도메인 객체 :
문제는 필자가 docs에 따라 종속성을 올바르게 정의하지 않았다는 것입니다. http://grails.org/plugin/spock – Rhysyngsun
좀 더 구체적으로 알려주시겠습니까? 나는 의존성을 올바르게 정의한 것처럼 보이지만 IntelliJ (테스트는 내 콘솔에서 잘 실행 됨)를 통해 테스트를 실행할 때 비슷한 문제가 발생합니다. –
내 명령 행에서 프로젝트 폴더에 'grails clean'을 실행하면 문제가 해결 된 것 같습니다. 무엇이 손상되었는지는 확실치 않지만 문제가있는 것 같습니다! –