Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot 如何使用JUnit5在spirng引导中为控制器、服务和Dao编写适当的测试用例?_Spring Boot_Unit Testing_Junit5 - Fatal编程技术网

Spring boot 如何使用JUnit5在spirng引导中为控制器、服务和Dao编写适当的测试用例?

Spring boot 如何使用JUnit5在spirng引导中为控制器、服务和Dao编写适当的测试用例?,spring-boot,unit-testing,junit5,Spring Boot,Unit Testing,Junit5,如何在spring boot中为控制器、服务和Dao编写合适的测试用例,使用junit 5进行清楚的解释spring boot有一个测试片的概念。这种类型的测试配置将仅设置应用程序的一部分,从而进行测试: 不太可能因不相关的变更而中断 与配置所有应用程序服务相比(使用@springbootest注释)更快 例如,@JsonTestslice将以与生产相同的方式配置ObjectMapper(以及一些JSON测试实用程序) 无论如何,对于您提到的类型: DAO-使用slice-它将配置Hibe

如何在spring boot中为控制器服务Dao编写合适的测试用例,使用junit 5进行清楚的解释

spring boot有一个测试片的概念。这种类型的测试配置将仅设置应用程序的一部分,从而进行测试:

  • 不太可能因不相关的变更而中断
  • 与配置所有应用程序服务相比(使用
    @springbootest
    注释)更快
例如,
@JsonTest
slice将以与生产相同的方式配置ObjectMapper(以及一些JSON测试实用程序)

无论如何,对于您提到的类型:

  • DAO-使用slice-它将配置Hibernate和内存中的数据库,并加载所有实体和存储库
  • 控制器-使用slice-它将只加载SpringMVC、Advice和您的控制器的配置。你将对我负责
  • 服务-很大程度上取决于您的服务在做什么。我更喜欢对依赖于Spring配置bean的服务使用切片,但您的测试也可以是一个非常简单的标准[j]单元测试,所有依赖项都被模拟掉了。-取决于你想要做出的妥协


这在junit的第五个版本中没有改变。唯一的区别是,您不再需要使用
@RunWith(SpringRunner.class)
对测试进行注释,Spring Boot有一个测试片的概念。这种类型的测试配置将仅设置应用程序的一部分,从而进行测试:

  • 不太可能因不相关的变更而中断
  • 与配置所有应用程序服务相比(使用
    @springbootest
    注释)更快
例如,
@JsonTest
slice将以与生产相同的方式配置ObjectMapper(以及一些JSON测试实用程序)

无论如何,对于您提到的类型:

  • DAO-使用slice-它将配置Hibernate和内存中的数据库,并加载所有实体和存储库
  • 控制器-使用slice-它将只加载SpringMVC、Advice和您的控制器的配置。你将对我负责
  • 服务-很大程度上取决于您的服务在做什么。我更喜欢对依赖于Spring配置bean的服务使用切片,但您的测试也可以是一个非常简单的标准[j]单元测试,所有依赖项都被模拟掉了。-取决于你想要做出的妥协

这在junit的第五个版本中没有改变。唯一的区别是您不再需要使用
@RunWith(SpringRunner.class)
对测试进行注释