创建名称为“en”的 bean 时出错。... .test.UserServiceTest':通过字段'userService'表达的不满足的依赖关系;嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException:没有可用的“ru.sk.ips.services.UserServices”类型的合格 bean:预计至少有 1 个有资格作为自动装配候选者的 bean。依赖注释:{@org.springframework.beans.factory.annotation.Autowired(required=true)} org.springframework.beans.factory.UnsatisfiedDependencyException:创建名称为“ru. ... .test.UserServiceTest':通过字段'userService'表达的不满足的依赖关系;嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException:没有可用的“ru.sk.ips.services.UserServices”类型的合格 bean:预计至少有 1 个 bean 有资格作为 autowire 候选者。依赖注解:{@org.springframework.beans.factory.annotation.Autowired(required=true)}
用户服务测试类
package ru. ... .test;
...
@RunWith(SpringJUnit4ClassRunner.class)
public class UserServiceTest {
@Autowired
UserServices userService;
@Test
public void simpleTest {
...
}
}
用户服务类
package ru. ... .services;
...
@Service
@Transactional
public class UserServices {
@Autowired
private DSLContext dsl;
...
}
因此,项目中没有配置
package ru. ...;
...
@SpringBootApplication
public class Application {
public static void main(String[] args) throws Exception {
SpringApplication.run(Application.class, args);
}
...
}
在测试期间提出上下文是不够的。
您需要使用 @ContextConfiguration 或使用 @SpringBootTest 注解为测试指定配置类。