Java 具有抽象类对象的类的Junit测试

Java 具有抽象类对象的类的Junit测试,java,spring,junit,dependency-injection,Java,Spring,Junit,Dependency Injection,我正在为一个类编写一个Junit测试用例,该类具有另一个抽象类的对象 我试图在我的应用程序上下文中为这两个类定义bean,但它给出了 Could not instantiate bean class: Is it an abstract class?; nested exception is java.lang.InstantiationException 情况是这样的 我的抽象类: public abstract class classA{ public returnType metho

我正在为一个类编写一个Junit测试用例,该类具有另一个抽象类的对象

我试图在我的应用程序上下文中为这两个类定义bean,但它给出了

 Could not instantiate bean class: Is it an abstract class?; nested exception is java.lang.InstantiationException
情况是这样的

我的抽象类:

public abstract class classA{

public returnType methodA{//method logic}
public returnType methodB{//method logic}

}
另一个使用抽象类对象的类

public class classB {

@Autowired
classA classa;

public returnType methodB{
  variable c = classa.methodA();
  variable d = somelogic(c);
  return d
}


}
我的应用程序上下文测试是

<bean id="classa" name="classa" class="package.classA"/>
<bean id="classb" class="package.classB">
<property name="classa" ref="classa"></property>
</bean>

我还没有写过这些类,所以我不知道作者为什么没有扩展抽象类,我也不能对类定义进行任何更改

自动连线在应用程序中工作得非常好,我已经在应用程序中启用了bean的组件扫描。 但是对于测试应用程序上下文,我手动定义bean定义。

如果您想“实例化”一个抽象类,那么只有一个解决方案:使用子类。如果子类尚不存在,请创建它:

然后,您的spring配置应为:

<bean id="classa" name="classa" class="mypackage.MyClassA"/>

<bean id="classa" name="classa" class="mypackage.MyClassA"/>