我有一个运行良好的 Spring 4.3 应用程序。我正在尝试使用 JUnit 4.11,但没有加载上下文。
原因:org.springframework.beans.factory.NoSuchBeanDefinitionException:没有可用的“caesb.websupport.service.BatchSolicitacaoService”类型的合格bean:预计至少有1个符合自动装配候选资格的bean。依赖注解:{@javax.inject.Inject()}
基础弹簧application.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans>
....
<tx:annotation-driven proxy-target-class="true" transaction-manager="transactionManager" />
<context:annotation-config />
<context:component-scan base-package="caesb">
</context:component-scan>
</beans>
test-spring-application.xml
它只有数据源配置。
BatchSolicitacaoService.java
@Service
public class BatchSolicitacaoService extends BaseEntityService<BatchSolicitacao>
{
...
}
PriorizacaoHidrometroDWService.java
@Service
public class PriorizacaoHidrometroDWService extends BaseEntityService<PriorizacaoHidrometroDW>
{
...
@Inject
private BatchSolicitacaoService batchSolicitacaoService;
}
基本测试.java
@RunWith(SpringJUnit4ClassRunner.class)
@TestExecutionListeners( { DependencyInjectionTestExecutionListener.class})
@ContextConfiguration({"classpath*:/base-spring-application.xml","classpath*:/test-spring-application.xml"})
@Transactional
public class BasicTest
{
@Test
public void test() {
System.out.println("teste teste");
}
}
我添加了@TestExecutionListeners,但没有成功。我删除了@Transaction,但也没有成功。