我使用的是mongodb事务特性,我使用的是springboot 2.3.5.RELEASE
. 我正在为集成测试的控制器类编写单元测试。我面临以下例外。请帮帮我。告诉我哪里做错了。
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.app.rain.resources.ValidationCategoryController' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1717) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1273) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1227) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE]
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE]
... 71 common frames omitted
我提供以下相关代码。
下面是配置类。
@EnableAutoConfiguration(exclude={ SecurityAutoConfiguration.class, DataSourceAutoConfiguration.class,
RedisAutoConfiguration.class,
RedisRepositoriesAutoConfiguration.class, MongoAutoConfiguration.class,
SecurityFilterAutoConfiguration.class, SecurityAutoConfiguration.class })
@SpringBootApplication(scanBasePackages = { "com.app.rain"}, exclude={SecurityAutoConfiguration.class})
public class Test1Config {
}
下面是控制器的测试。
@ActiveProfiles("test")
@DataMongoTest()
//@ExtendWith(SpringExtension.class)
//@ContextConfiguration(classes = ValidationApplication.class)
@ContextConfiguration(classes = {
Test1Config.class,
})
@ImportAutoConfiguration(TransactionAutoConfiguration.class)
public class Test0 {
@Autowired
private ValidationCategoryController controller;
@Autowired
@Qualifier("validations")
private ValidationService vldnService;
@Test
void testAllValidationsBeforeEntry() {
System.out.println("controller : " + controller);
assertEquals(true, true);
}
}
请帮我解决。我也看到这个@datamongotest失败是因为不满意的dependencyException。对此没有答案。
1条答案
按热度按时间dl5txlt91#
经过几个小时的努力,我终于找到了解决办法。它可能对某人有帮助。我把密码贴在这里。
班级
TestMongoDBConfig
课堂看起来像这样。