java - 为什么junit不运行注入(inject)的方法?

标签 java spring junit javabeans abstract

我有一个抽象类:

public abstract ClassA {

 protected abstract void method1 {...}

另一个实现方法1的类ClassB。

XML:

bean id="BaseBean" class="ClassB"

bean id="WorkBean" class="ClassA"
lookup-method="method1" bean="BaseBean"

测试中:

$RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:test.xml"
public class Test ....

@Autowired
private ClassA classA;

当我运行测试时,我收到错误:

java.lang.AbstractMethodError ....
为什么?似乎应该从 BaseBean 调用方法?

最佳答案

我不是 100% 确定这是否是你的问题,但 BaseBean 应该有 singleton="false"

关于java - 为什么junit不运行注入(inject)的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10364614/

相关文章:

java - 将 JSON 数组从服务器 API 请求转换为 Retrofit2 中的对象

java - Log4j 2.9.1 以编程方式将 ThresholdFilter 添加到 Appender

java.lang.NoClassDefFoundError : org/apache/logging/log4j/Logger 错误

Spring 数据 JPA。 Repositories 继承,抛出 BeanCreationException,NullPointerException

使用 Junit 的 Spring 测试 session 范围 bean

unit-testing - 在 JUnit 的方法内模拟对象

java - 使用for循环使用java在文件中逐行写入

java - Spring Bean 重写父子关系中的注解

java - Junit 测试并确保没有对对象进行不必要的更改

java - Spring中的ObjectFactory和FactoryBean接口(interface)有什么不同