我在Spring是新来的。我正在使用Spring Boot创建控制台应用程序。应用程序工作正常,但当我尝试测试存储库时,我得到一个错误
< code >原因:org . spring framework . beans . factory . unsatisfieddependencyexception:创建名为“universitymanagerspringbootsapplication”的bean时出错:通过构造函数参数0表示的未满足的依赖关系;嵌套异常为org . spring framework . beans . factory . nosuchbeandetification异常:没有类型为“com . universitymanager . spring boot . engine . response generator”的合格bean可用:应至少有一个符合autowire候选资格的bean。依赖项批注:{}
请帮帮忙
响应发生器
@Component
@AllArgsConstructor
public class ResponseGenerator {
private final DepartmentsRepository departmentsRepository;
private final LectorsRepository lectorsRepository;
...
部门
@Entity
@NoArgsConstructor
@Setter
@Getter
@ToString
@Table(name = "departments")
public class Departments {
...
演讲者
@Entity
@NoArgsConstructor
@Setter
@Getter
@ToString
@Table(name = "lectors")
public class Lectors {
...
部门资源库
@Repository
public interface DepartmentsRepository extends CrudRepository<Departments, Integer> {
...
LectorsRepository
@Repository
public interface LectorsRepository extends CrudRepository<Lectors, Integer> {
...
universitymanager spring boot application
@SpringBootApplication
@AllArgsConstructor
public class UniversityManagerSpringBootApplication implements CommandLineRunner {
private ResponseGenerator responseGenerator;
public static void main(String[] args) {
SpringApplication.run(UniversityManagerSpringBootApplication.class, args);
}
@Override
public void run(String... args) throws Exception {
...
部门存储库测试(导致的错误)
@DataJpaTest
class DepartmentsRepositoryTest {
@Autowired
private DepartmentsRepository departmentsRepository;
@Test
void injectedComponentIsNotNull(){
assertNotNull(departmentsRepository);
}
...
如果您使用的是TestNG,请尝试让您的测试类扩展AbstractTestNGSpringContextTest,这有助于访问TestNG中的Spring组件。
public class DepartmentsRepositoryTest extends AbstractTestNGSpringContextTests
我找到了解决问题的方法!这对我来说很好 https://stackoverflow.com/a/29774201/15349979
很高兴这能帮助某人
请尝试在测试中将@DataJpaTest
更改为@SpringBootTest
,以使Spring在完整的应用程序上下文中设置,包括响应生成器bean。
@DataJpaTest
的文档说明:
使用此注释将禁用完全自动配置,而是仅应用与 JPA 测试相关的配置。
因此,使用这个注释,您不会得到stacktrace引用的ResponseGenerator bean。
我犯了一个非常愚蠢的错误,但不知道如何解决。 我有一个简单的使用profiles的SpringBoot应用程序,它连接到MongoDb。 我的 pom.xml依赖关系: My StudentController.java 我的StudentService.java 这是我的学生刀。java接口: 我的MongoStudentDaoImpl.java: 我的MongoStudentRepo.java
我在一个常规的老式SpringMVC应用程序中独立使用Spring数据。 我得到了错误 Spring数据的DAO接口,注意@repository:
问题内容: 我正在尝试使用Mocha来测试构造函数是否引发错误。我无法使用Expect语法执行此操作,因此我想执行以下操作: 这可能吗? 问题答案: 您可以尝试使用Chai的 构造。例如:
UnsatisfiedDependencyException:在文件[/home/x/workspace/botshop-backend-java/target/classes/far/botshop/backend/storage/filesystemStorageService.class]中创建名为“file SystemStorageService”的bean时出错:通过构造函数参数0表示
我在做Espresso测试时遇到了一个问题,我知道Espresso不能处理动画,所以我在下面做了。-禁用我的测试设备窗口动画,过渡动画和动画师持续时间比例都设置为关闭(这不起作用)-然后我试图在我的代码中添加一个标志(如。espresso_testing=true。如果为true,我的代码将跳过调用所有startAnimation()函数调用。--->这很管用。然而,在编写espresso测试用例