我正在尝试用嵌入式SpringBoot测试一个简单的null应用程序,但是我的存储库被设置为null。有人能发现我错过了什么吗?
//财务主任:
@RestController
public class MyController {
@Autowired
private MyRepository myRepo;
public MyController() {
}
@RequestMapping(method= RequestMethod.GET, value="/test")
public Iterable<Test&
在测试我的Controller类时,我得到了这个异常
Caused by: java.lang.IllegalArgumentException: At least one JPA metamodel must be present!
at org.springframework.util.Assert.notEmpty(Assert.java:450)
at org.springframework.data.jpa.mapping.JpaMetamodelMappingContext.<init>(JpaMetamodelMappingContext.java:5
所以我用Spring编写这个web应用程序,用JPA和Spring编写Spring数据,我想做模拟控制器测试。我想出了如何测试get方法,但是在我的控制器post方法中,一个新的JPA实体正在被持久化或使用我的服务进行更新。下面是我的控制器的样子:
@Controller
@RequestMapping("/registerMember")
public class RegisterMemberController {
@Autowired
private MemberService memberService;
@GetMapping
pu
我正在学习spring并编写一个简单的spring引导应用程序。我想为我的控制器写一个单元测试。控制器与一个存储库交互,出于测试的目的,我想模拟该存储库。使用各种教程和文档,我得出了以下结论:
我的测试:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes={TestConfiguration.class,MyWebappApplication.class})
@WebAppConfiguration
public class MyWebappApplicationTests {
pr
我正在尝试使用Mock运行控制器级Spring Boot单元测试,用于我的服务层依赖项。但是,这个模拟需要一个使用EntityManager对象的下游存储库依赖项,这会导致我的测试在加载ApplicationContext时失败。 我的测试不涉及存储库依赖项或EntityManager,它使用模拟的服务对象来返回封装的响应。如果我只想模拟服务层对象,为什么Spring会抱怨repo/EntityManager? 控制器单元测试代码: @RunWith(SpringRunner.class)
@WebMvcTest
@AutoConfigureWebClient
public class Mo
因此,我有一个多maven模块项目,其中包含一个控制器模块和一个包含spring boot启动应用程序类的模块。 myApp -部署(模块)-控制器(模块) 在控制器模块中,我希望能够使用mockMvc测试它们 然而,当我运行它时,我得到了以下错误: java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test 我想要做的是仍然能够测试
我注意到,当我取消对JPA dep的注释时,如下所示:
implementation("org.springframework.boot:spring-boot-starter-jdbc")
implementation ("org.springframework.boot:spring-boot-starter-data-jdbc")
//implementation ("org.springframework.boot:spring-boot-starter-data-jpa")
I do not have any @Entity annot