将应用程序迁移到 springboot 后,我在运行 jUnit 时遇到了这些问题。这是版本冲突的问题。这些是我正在使用的依赖项和版本:
我可以看到mockito-core中的 MockingDetails 类有这个方法 getMockCreationSettings(),但mockito-all没有。测试以某种方式从错误的依赖项中选择该类。删除mockito-all会导致许多其他测试失败。有人可以帮我修复吗?
java.lang.NoSuchMethodError: org.mockito.MockingDetails.getMockCreationSettings()Lorg/mockito/mock/MockCreationSettings;
at org.springframework.boot.test.mock.mockito.MockReset.get(MockReset.java:107)
at org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener.resetMocks(ResetMocksTestExecutionListener.java:81)
at org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener.resetMocks(ResetMocksTestExecutionListener.java:69)
at org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener.beforeTestMethod(ResetMocksTestExecutionListener.java:56)
at org.springframework.test.context.TestContextManager.beforeTestMethod(TestContextManager.java:291)
at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74)
at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)
at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:89)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41) …Run Code Online (Sandbox Code Playgroud) 我有一个父类 A 和它的子类 B。两者都有具有doSomething不同类型参数的方法。
A级
package Inheritance;
public class A {
public void doSomething(Object str){
System.out.println("Base impl:"+str);
}
}
Run Code Online (Sandbox Code Playgroud)
B级
package Inheritance;
public class B extends A{
public void doSomething(String str){
System.out.println("Child impl:"+str);
}
public static void main(String[] args) {
A a = new B();
a.doSomething("override");
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我得到“Base impl:override”作为输出!
a指向 的一个对象B,而他传递的参数是String,那么它不应该调用B的doSomething(String str)方法吗?
要求是编写一个控制器来处理来自以下网址的 POST 请求:
http://hostname:port/com/prod1?id=2&action=add
http://hostname:port/com/prod1?id=2&action=minus
http://hostname:port/com/prod2?id=2&action=add
http://hostname:port/com/prod2?id=2&action=minus
Run Code Online (Sandbox Code Playgroud)
我可以有两种方法,一种用于映射带有 action=add 的 url,另一种用于映射带有 action=minus 的 url?所有的请求都是POST。
我目前正在致力于将 IBM Webshere 应用程序迁移到 Spring Boot。
作为其中的一部分,有一个 MDB 类需要转换为@JmsListener. 该 MDB 有一个监听多个队列的方法。我想对@JmsListener多个目的地进行同样的操作。我看到了这个线程,但这不起作用。
这是当前的 MDB 配置:
豆1
<bean id="myAppabcResponseMDB" class="company.myApp.service.mdb.MyAppMessageListenerMDB"/>
<bean id="jmsContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="jmsConnectionFactory"/>
<property name="destination" ref="myAppabcResponseDest"/>
<property name="messageListener" ref="myAppabcResponseMDB"/>
<property name="maxConcurrentConsumers" value="5"/>
<property name="sessionTransacted" value="true"/>
<property name="transactionManager" ref="transactionManager" />
<property name="taskExecutor" ref="myTaskExecutor" />
</bean>
<bean id="myAppabcResponseDest" name="jms/myAppESBResponse" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jms/myAppabcResponse"/>
<property name="resourceRef" value="true"/>
</bean>
Run Code Online (Sandbox Code Playgroud)
<bean id="myAppRequestMDB" class="company.myApp.service.mdb.MyAppMessageListenerMDB"/>
<bean id="jmsContainer2" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="jmsConnectionFactory"/>
<property name="destination" ref="myAppRequestDest"/>
<property name="messageListener" ref="myAppRequestMDB"/>
<property name="maxConcurrentConsumers" …Run Code Online (Sandbox Code Playgroud) java ×3
spring-boot ×2
inheritance ×1
jms ×1
junit ×1
mockito ×1
powermock ×1
spring ×1
spring-jms ×1
spring-mvc ×1