我有一个jar文件,它是持久层,ad我只想测试简单地自动装入其他服务层clase的DAO。但我想在没有任何嘲弄或其他任何情况下进行测试。
我认为这应该很简单。我在我的srs / test / java
中有这个lg
所有DAO都在通常的/ src / main / java下的同一个项目
当我运行mvn来运行这样的测试时:
@RunWith(SpringRunner.class)
@ComponentScan("com.xxxx")
public class ApplicationTester {
@Autowired
AplicationDocumentDao aplicationDocumentDao;
@Test
private void testAplicationDocumentDao() {
aplicationDocumentDao.allForOrg(1);
}
}
我收到此错误:
mvn -Dtest=ApplicationTester test
当然,无法找到Bean,但我认为@ComponentScan会选择添加Dao&#39。
如何让这个测试人员找到我的所有Dao(都使用@Componenet注释),并在其余的应用程序中接受完好。
有什么想法吗?
**编辑** 这是DAO
Error creating bean with name 'xxx.test.ApplicationTester': Unsatisfied dependency expressed through field 'aplicationDocumentDao';
nested exception is 0rg.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'xxx.dao.AplicationDocumentDao' available:
expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
答案 0 :(得分:0)
在持久层类中添加注释,例如:@Repository或@Component,如下所示:
@Repository
public interface OrderMapper {}