2013-11-16 3 views
0

Я использую комбинацию JUnit 4.8 JMock 2.5.1 и Hamcrest 1.1. Теперь я хочу перейти на jUnit 4.11 с помощью JMock 2.6 и Hamcrest 1.3.Зависимости для jUnit 4.11 с JMock 2.6 и Hamcrest 1.3

Причина JUnit 4.11 поставляется с hamcrest 1.3. Я только импортирую JUnit 4.11 и JMock через управление зависимостями.

зависимость орг = "org.jmock" имя = "JMock-наследие" обороты = "2.6.0" конф = "тест->" транзитивен = "истинная" зависимость орг = "org.jmock" имя = "jmock-junit4" rev = "2.6.0" conf = "test->" transitive = "true"

зависимость org = "junit" name = "junit" rev = "4.11" conf = "test- > по умолчанию»

Но я получаю странное поведение работает мои тесты в этой комбинации, как:

java.lang.reflect.UndeclaredThrowableException 
at com.sun.proxy.$Proxy7.getAssignedPermissionValues(Unknown Source) 
at permissions.xml.UserRolePermissionsTest$2.<init>(UserRolePermissionsTest.java:80) 
at permissions.xml.UserRolePermissionsTest.emptyPermissionInfosAreSilentlyIgnoredByConstructor(UserRolePermissionsTest.java:78) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) 
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) 
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) 
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) 
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) 
at org.jmock.integration.junit4.JUnitRuleMockery$1.evaluate(JUnitRuleMockery.java:49) 
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) 
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) 
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) 
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) 
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) 
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) 
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) 
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) 
at org.junit.runners.ParentRunner.run(ParentRunner.java:309) 
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) 
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 

Caused by: java.lang.InstantiationException: java.util.EnumSet 
at java.lang.Class.newInstance(Class.java:359) 
at org.jmock.internal.ReturnDefaultValueAction.collectionOrMapInstanceFor(ReturnDefaultValueAction.java:87) 
at org.jmock.internal.ReturnDefaultValueAction.invoke(ReturnDefaultValueAction.java:77) 
at org.jmock.internal.InvocationToExpectationTranslator.invoke(InvocationToExpectationTranslator.java:20) 
at org.jmock.internal.FakeObjectMethods.invoke(FakeObjectMethods.java:38) 
at org.jmock.lib.JavaReflectionImposteriser$1.invoke(JavaReflectionImposteriser.java:33) 
... 28 more 

Может someo ne, пожалуйста, укажите нужные мне зависимости. Или объясните, что я делаю неправильно.

С уважением и спасибо

ответ

0

Это работает для меня: JMock-junit4 представит JUnit-DEP: 4.4, если я не ошибаюсь (не будет опущено с JUnit: 4,11, артефакта отличается).

<!-- general test --> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.11</version> 
     <scope>test</scope> 
     <exclusions> 
      <exclusion> 
       <artifactId>hamcrest-core</artifactId> 
       <groupId>org.hamcrest</groupId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.hamcrest</groupId> 
     <artifactId>hamcrest-library</artifactId> 
     <version>1.3.RC2</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.jmock</groupId> 
     <artifactId>jmock-junit4</artifactId> 
     <version>2.6.0</version> 
     <scope>test</scope> 
     <exclusions> 
      <exclusion> 
       <artifactId>hamcrest-core</artifactId> 
       <groupId>org.hamcrest</groupId> 
      </exclusion> 
      <exclusion> 
       <artifactId>junit-dep</artifactId> 
       <groupId>junit</groupId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
Смежные вопросы