{"id":15525,"date":"2020-02-12T06:41:34","date_gmt":"2020-02-11T23:41:34","guid":{"rendered":"https:\/\/huongdanjava.com\/?p=15525"},"modified":"2026-02-15T07:20:08","modified_gmt":"2026-02-15T00:20:08","slug":"viet-unit-test-cho-spring-boot-application","status":"publish","type":"post","link":"https:\/\/huongdanjava.com\/vi\/viet-unit-test-cho-spring-boot-application.html","title":{"rendered":"Vi\u1ebft Unit Test cho Spring Boot application"},"content":{"rendered":"<p>Khi l\u00e0m vi\u1ec7c v\u1edbi c\u00e1c \u1ee9ng d\u1ee5ng s\u1eed d\u1ee5ng Spring Boot, c\u00e1c b\u1ea1n s\u1ebd c\u1ea7n ph\u1ea3i vi\u1ebft Unit Test cho nh\u1eefng \u0111o\u1ea1n code c\u1ee7a m\u00ecnh. Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh s\u1ebd h\u01b0\u1edbng d\u1eabn c\u00e1c b\u1ea1n c\u00e1ch vi\u1ebft Unit Test cho Spring Boot application c\u00e1c b\u1ea1n nh\u00e9!<\/p>\n<p>\u0110\u1ea7u ti\u00ean, m\u00ecnh s\u1ebd t\u1ea1o m\u1edbi m\u1ed9t \u1ee9ng d\u1ee5ng Spring Boot \u0111\u01a1n gi\u1ea3n \u0111\u1ec3 l\u00e0m v\u00ed d\u1ee5:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-15567 size-full\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2020\/02\/viet-unit-test-cho-spring-boot-application-1.png\" alt=\"Vi\u1ebft Unit Test cho Spring Boot application\" width=\"700\" height=\"454\" \/><\/p>\n<p>\u1ee8ng d\u1ee5ng n\u00e0y ch\u1ec9 l\u00e0m nhi\u1ec7m v\u1ee5 \u0111\u01a1n gi\u1ea3n l\u00e0 in m\u1ed9t message ra console v\u1edbi n\u1ed9i dung &#8220;Hello Khanh. Total of 2 and 3 is 5&#8221;. \u0110\u1ec3 l\u00e0m \u0111\u01b0\u1ee3c \u0111i\u1ec1u n\u00e0y, \u1ee9ng d\u1ee5ng c\u1ee7a ch\u00fang ta s\u1ebd c\u00f3 2 class \u0111\u01b0\u1ee3c khai b\u00e1o trong Spring container v\u1edbi n\u1ed9i dung nh\u01b0 sau:<\/p>\n<p>Class Hello:<\/p>\n<pre class=\"lang:java decode:true \">package com.huongdanjava.springboot;\r\n\r\nimport org.springframework.stereotype.Component;\r\n\r\n@Component\r\npublic class Hello {\r\n\r\n  public String say(String name) {\r\n    return \"Hello \" + name;\r\n  }\r\n}\r\n<\/pre>\n<p>Class n\u00e0y \u0111\u1ecbnh ngh\u0129a m\u1ed9t method cho ph\u00e9p ch\u00fang ta truy\u1ec1n t\u00ean v\u00e0 n\u00f3 s\u1ebd return l\u1ea1i chu\u1ed7i &#8220;Hello&#8221; c\u1ed9ng v\u1edbi t\u00ean m\u00e0 c\u00e1c b\u1ea1n truy\u1ec1n v\u00e0o.<\/p>\n<p>Class Calculation:<\/p>\n<pre class=\"lang:java decode:true\">package com.huongdanjava.springboot;\r\n\r\nimport org.springframework.stereotype.Service;\r\n\r\n@Service\r\npublic class Calculation {\r\n\r\n  public int sum(int a, int b) {\r\n    return a + b;\r\n  }\r\n}\r\n<\/pre>\n<p>Class n\u00e0y cho ph\u00e9p ch\u00fang ta t\u00ednh t\u1ed5ng c\u1ee7a 2 s\u1ed1.<\/p>\n<p>K\u1ebft qu\u1ea3 khi ch\u1ea1y ch\u01b0\u01a1ng tr\u00ecnh n\u00e0y s\u1ebd nh\u01b0 sau:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-15568 size-full\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2020\/02\/viet-unit-test-cho-spring-boot-application-2.png\" alt=\"Vi\u1ebft Unit Test cho Spring Boot application\" width=\"700\" height=\"367\" \/><\/p>\n<p>Ok, b\u00e2y gi\u1edd ch\u00fang ta s\u1ebd ti\u1ebfn h\u00e0nh vi\u1ebft code Unit Test cho \u1ee9ng d\u1ee5ng n\u00e0y, c\u00e1c b\u1ea1n nh\u00e9!<\/p>\n<p>\u00dd t\u01b0\u1edfng l\u00e0 ch\u00fang ta c\u1ea7n vi\u1ebft Unit Test \u0111\u1ec3 ki\u1ec3m tra khi \u1ee9ng d\u1ee5ng ch\u1ea1y, 2 bean c\u1ee7a c\u00e1c class Hello v\u00e0 Calculation ph\u1ea3i \u0111\u01b0\u1ee3c kh\u1edfi t\u1ea1o trong Spring container v\u00e0 c\u00e1c method c\u1ee7a ch\u00fang ph\u1ea3i return \u0111\u00fang gi\u00e1 tr\u1ecb m\u00e0 ch\u00fang ta mong mu\u1ed1n.<\/p>\n<p>\u0110\u1ec3 l\u00e0m \u0111\u01b0\u1ee3c \u0111i\u1ec1u n\u00e0y, tr\u01b0\u1edbc ti\u00ean c\u00e1c b\u1ea1n c\u1ea7n make sure l\u00e0 dependency c\u1ee7a Spring Boot Test \u0111\u01b0\u1ee3c khai b\u00e1o trong t\u1eadp tin pom.xml c\u1ee7a c\u00e1c b\u1ea1n. C\u1ee7a m\u00ecnh khi t\u1ea1o Spring Boot project s\u1eed d\u1ee5ng Spring Tool Suite, n\u00f3 \u0111\u00e3 \u0111\u01b0\u1ee3c include nh\u01b0 sau:<\/p>\n<pre class=\"lang:xhtml decode:true\">&lt;dependency&gt;\r\n  &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\r\n  &lt;artifactId&gt;spring-boot-starter-test&lt;\/artifactId&gt;\r\n  &lt;scope&gt;test&lt;\/scope&gt;\r\n&lt;\/dependency&gt;\r\n<\/pre>\n<p><strong>\u0110\u1ec3 vi\u1ebft Unit Test cho Spring Boot application, c\u00e1c b\u1ea1n ch\u1ec9 c\u1ea7n khai b\u00e1o trong class Test m\u1ed9t annotation c\u1ee7a Spring Boot Test @SpringBootTest<\/strong> l\u00e0 xong. V\u00ed d\u1ee5:<\/p>\n<pre class=\"lang:java decode:true \">package com.huongdanjava.springboot;\r\n\r\nimport org.springframework.boot.test.context.SpringBootTest;\r\n\r\n@SpringBootTest\r\npublic class HelloTest {\r\n\r\n}\r\n<\/pre>\n<p>Hay:<\/p>\n<pre class=\"lang:java decode:true \">package com.huongdanjava.springboot;\r\n\r\nimport org.springframework.boot.test.context.SpringBootTest;\r\n\r\n@SpringBootTest\r\npublic class CalculationTest {\r\n\r\n}\r\n<\/pre>\n<p>Class SpringBootUnitTestApplicationTests th\u00ec \u0111\u00e3 \u0111\u01b0\u1ee3c th\u00eam t\u1ef1 \u0111\u1ed9ng r\u1ed3i:<\/p>\n<pre class=\"lang:java decode:true\">package com.huongdanjava.springboot;\r\n\r\nimport org.junit.jupiter.api.Test;\r\nimport org.springframework.boot.test.context.SpringBootTest;\r\n\r\n@SpringBootTest\r\nclass SpringBootUnitTestApplicationTests {\r\n\r\n  @Test\r\n  void contextLoads() {\r\n  }\r\n\r\n}\r\n<\/pre>\n<p>V\u1edbi annotation @SpringBootTest n\u00e0y, Spring Boot Test s\u1ebd t\u1ef1 \u0111\u1ed9ng ch\u1ea1y m\u1ed9t Spring container v\u00e0 kh\u1edfi t\u1ea1o c\u00e1c bean trong Spring container n\u00e0y trong l\u00fac ch\u00fang ta ch\u1ea1y test.<\/p>\n<p>Bean c\u1ee7a c\u00e1c class n\u00e0o s\u1ebd \u0111\u01b0\u1ee3c kh\u1edfi t\u1ea1o trong Spring container tu\u1ef3 thu\u1ed9c v\u00e0o c\u1ea5u h\u00ecnh c\u1ee7a ch\u00fang ta.<\/p>\n<p>N\u1ebfu c\u00e1c b\u1ea1n khai b\u00e1o th\u00eam annotation @ContextConfiguration v\u1edbi value l\u00e0 c\u00e1c class ch\u1ee9a \u0111\u1ecbnh ngh\u0129a th\u00f4ng tin bean th\u00ec ch\u1ec9 nh\u1eefng bean \u0111\u01b0\u1ee3c \u0111\u1ecbnh ngh\u0129a trong c\u00e1c class n\u00e0y m\u1edbi \u0111\u01b0\u1ee3c kh\u1edfi t\u1ea1o.<\/p>\n<p>N\u1ebfu c\u00e1c b\u1ea1n kh\u00f4ng khai b\u00e1o th\u00eam annotation @ContextConfiguration th\u00ec Spring Boot Test s\u1ebd t\u1ef1 \u0111\u1ed9ng scan nh\u1eefng class n\u00e0o \u0111\u01b0\u1ee3c khai b\u00e1o v\u1edbi annotation @Configuration v\u00e0 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng v\u1edbi annotation @SpringBootConfiguration \u0111\u1ec3 kh\u1edfi t\u1ea1o bean.<\/p>\n<p>Trong v\u00ed d\u1ee5 c\u1ee7a m\u00ecnh th\u00ec m\u00ecnh \u0111ang s\u1eed d\u1ee5ng c\u01a1 ch\u1ebf auto component scan \u0111\u1ec3 kh\u1edfi t\u1ea1o bean trong Spring, kh\u00f4ng khai b\u00e1o bean m\u1ed9t c\u00e1ch t\u01b0\u1eddng minh n\u00ean nh\u1eefng bean n\u00e0y l\u00e0 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng v\u1edbi annotation @SpringBootConfiguration \u0111\u1ec3 kh\u1edfi t\u1ea1o.<\/p>\n<p>C\u00e1c b\u1ea1n c\u00f3 th\u1ec3 th\u00eam code test \u0111\u1ec3 ki\u1ec3m tra c\u00e1c bean c\u1ee7a c\u00e1c class Hello v\u00e0 Calculation ph\u1ea3i \u0111\u01b0\u1ee3c kh\u1edfi t\u1ea1o trong class SpringBootUnitTestApplicationTests nh\u01b0 sau:<\/p>\n<pre class=\"lang:java decode:true\">package com.huongdanjava.springboot;\r\n\r\nimport org.junit.jupiter.api.Assertions;\r\nimport org.junit.jupiter.api.Test;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.boot.test.context.SpringBootTest;\r\nimport org.springframework.context.ApplicationContext;\r\n\r\n@SpringBootTest\r\nclass SpringBootUnitTestApplicationTests {\r\n\r\n  @Autowired\r\n  private ApplicationContext context;\r\n\r\n  @Test\r\n  public void testCalculation() {\r\n    Assertions.assertTrue(context.getBean(Calculation.class) != null);\r\n  }\r\n\r\n  @Test\r\n  public void testHello() {\r\n    Assertions.assertTrue(context.getBean(Hello.class) != null);\r\n  }\r\n\r\n}\r\n<\/pre>\n<p>Test cho c\u00e1c class Hello v\u00e0 Calculation s\u1ebd nh\u01b0 sau:<\/p>\n<pre class=\"lang:java decode:true \">package com.huongdanjava.springboot;\r\n\r\nimport org.junit.jupiter.api.Assertions;\r\nimport org.junit.jupiter.api.Test;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.boot.test.context.SpringBootTest;\r\nimport org.springframework.context.ApplicationContext;\r\n\r\n@SpringBootTest\r\npublic class CalculationTest {\r\n\r\n  @Autowired\r\n  private ApplicationContext context;\r\n\r\n  @Test\r\n  public void testSum() {\r\n    Calculation calculation = context.getBean(Calculation.class);\r\n\r\n    Assertions.assertEquals(9, calculation.sum(4, 5));\r\n  }\r\n}\r\n<\/pre>\n<pre class=\"lang:java decode:true \">package com.huongdanjava.springboot;\r\n\r\nimport org.junit.jupiter.api.Assertions;\r\nimport org.junit.jupiter.api.Test;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.boot.test.context.SpringBootTest;\r\nimport org.springframework.context.ApplicationContext;\r\n\r\n@SpringBootTest\r\npublic class HelloTest {\r\n\r\n  @Autowired\r\n  private ApplicationContext context;\r\n\r\n  @Test\r\n  public void testSay() {\r\n    Hello hello = context.getBean(Hello.class);\r\n\r\n    Assertions.assertEquals(\"Hello Khanh\", hello.say(\"Khanh\"));\r\n  }\r\n}\r\n<\/pre>\n<p>N\u1ebfu c\u00e1c b\u1ea1n ch\u1ec9 mu\u1ed1n test class Hello, c\u00e1c b\u1ea1n c\u00f3 th\u1ec3 t\u1ea1o m\u1edbi m\u1ed9t class TestConfiguration v\u1edbi n\u1ed9i dung nh\u01b0 sau:<\/p>\n<pre class=\"lang:java decode:true \">package com.huongdanjava.springboot;\r\n\r\nimport org.springframework.context.annotation.Bean;\r\nimport org.springframework.context.annotation.Configuration;\r\n\r\n@Configuration\r\npublic class TestConfiguration {\r\n\r\n  @Bean\r\n  public Hello hello() {\r\n    return new Hello();\r\n  }\r\n}\r\n<\/pre>\n<p>R\u1ed3i sau \u0111\u00f3 s\u1eed d\u1ee5ng annotation @ContextConfiguration \u0111\u1ec3 khai b\u00e1o class TestConfiguration n\u00e0y v\u00e0o \u0111\u1ec3 vi\u1ebft test:<\/p>\n<pre class=\"lang:java decode:true \">package com.huongdanjava.springboot;\r\n\r\nimport org.junit.jupiter.api.Assertions;\r\nimport org.junit.jupiter.api.Test;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.boot.test.context.SpringBootTest;\r\nimport org.springframework.context.ApplicationContext;\r\nimport org.springframework.test.context.ContextConfiguration;\r\n\r\n@SpringBootTest\r\n@ContextConfiguration(classes = { TestConfiguration.class })\r\npublic class Hello1Test {\r\n\r\n  @Autowired\r\n  private ApplicationContext context;\r\n\r\n  @Test\r\n  public void testSay() {\r\n    Hello hello = context.getBean(Hello.class);\r\n\r\n    Assertions.assertEquals(\"Hello Khanh\", hello.say(\"Khanh\"));\r\n  }\r\n\r\n}\r\n<\/pre>\n<p>Trong tr\u01b0\u1eddng h\u1ee3p n\u00e0y, c\u00e1c b\u1ea1n s\u1ebd kh\u00f4ng th\u1ec3 l\u1ea5y bean c\u1ee7a class Calculation. V\u00ed d\u1ee5:<\/p>\n<pre class=\"lang:java decode:true\">package com.huongdanjava.springboot;\r\n\r\nimport org.junit.jupiter.api.Assertions;\r\nimport org.junit.jupiter.api.Test;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.boot.test.context.SpringBootTest;\r\nimport org.springframework.context.ApplicationContext;\r\nimport org.springframework.test.context.ContextConfiguration;\r\n\r\n@SpringBootTest\r\n@ContextConfiguration(classes = { TestConfiguration.class })\r\npublic class Hello1Test {\r\n\r\n  @Autowired\r\n  private ApplicationContext context;\r\n\r\n  @Test\r\n  public void testSay() {\r\n    Hello hello = context.getBean(Hello.class);\r\n\r\n    Assertions.assertEquals(\"Hello Khanh\", hello.say(\"Khanh\"));\r\n  }\r\n\r\n  @Test\r\n  public void testBeanConfiguration() {\r\n    Calculation calculation = context.getBean(Calculation.class);\r\n  }\r\n}\r\n<\/pre>\n<p>S\u1ebd g\u1eb7p l\u1ed7i ngay:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-15570 size-full\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2020\/02\/viet-unit-test-cho-spring-boot-application-3.png\" alt=\"Vi\u1ebft Unit Test cho Spring Boot application\" width=\"700\" height=\"196\" \/><\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-right kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;right&quot;,&quot;id&quot;:&quot;15525&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;1&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;5&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;4&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;5\\\/5 - (1 vote)&quot;,&quot;size&quot;:&quot;24&quot;,&quot;title&quot;:&quot;Vi\u1ebft Unit Test cho Spring Boot application&quot;,&quot;width&quot;:&quot;138&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} - ({count} {votes})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 138px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 19.2px;\">\n            5\/5 - (1 vote)    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Khi l\u00e0m vi\u1ec7c v\u1edbi c\u00e1c \u1ee9ng d\u1ee5ng s\u1eed d\u1ee5ng Spring Boot, c\u00e1c b\u1ea1n s\u1ebd c\u1ea7n ph\u1ea3i vi\u1ebft Unit Test cho nh\u1eefng \u0111o\u1ea1n code c\u1ee7a m\u00ecnh. Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh s\u1ebd h\u01b0\u1edbng d\u1eabn c\u00e1c b\u1ea1n c\u00e1ch vi\u1ebft Unit Test cho Spring Boot application c\u00e1c b\u1ea1n&hellip; <a href=\"https:\/\/huongdanjava.com\/vi\/viet-unit-test-cho-spring-boot-application.html\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":1680,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[187],"tags":[],"class_list":["post-15525","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-spring-boot-vi","clearfix"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Vi\u1ebft Unit Test cho Spring Boot application - Huong Dan Java<\/title>\n<meta name=\"description\" content=\"Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh s\u1ebd h\u01b0\u1edbng d\u1eabn cho c\u00e1c b\u1ea1n c\u00e1ch vi\u1ebft Unit Test cho Spring Boot application.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/huongdanjava.com\/vi\/viet-unit-test-cho-spring-boot-application.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Vi\u1ebft Unit Test cho Spring Boot application - Huong Dan Java\" \/>\n<meta property=\"og:description\" content=\"Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh s\u1ebd h\u01b0\u1edbng d\u1eabn cho c\u00e1c b\u1ea1n c\u00e1ch vi\u1ebft Unit Test cho Spring Boot application.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/huongdanjava.com\/vi\/viet-unit-test-cho-spring-boot-application.html\" \/>\n<meta property=\"og:site_name\" content=\"Huong Dan Java\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/nhkhanh2406\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/nhkhanh2406\" \/>\n<meta property=\"article:published_time\" content=\"2020-02-11T23:41:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-15T00:20:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2016\/10\/spring-boot.png\" \/>\n\t<meta property=\"og:image:width\" content=\"300\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Khanh Nguyen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/KhanhNguyenJ\" \/>\n<meta name=\"twitter:site\" content=\"@KhanhNguyenJ\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Khanh Nguyen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/viet-unit-test-cho-spring-boot-application.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/viet-unit-test-cho-spring-boot-application.html\"},\"author\":{\"name\":\"Khanh Nguyen\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#\\\/schema\\\/person\\\/dc859d7f8cbea3b593e6738de9cbb82d\"},\"headline\":\"Vi\u1ebft Unit Test cho Spring Boot application\",\"datePublished\":\"2020-02-11T23:41:34+00:00\",\"dateModified\":\"2026-02-15T00:20:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/viet-unit-test-cho-spring-boot-application.html\"},\"wordCount\":805,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#\\\/schema\\\/person\\\/dc859d7f8cbea3b593e6738de9cbb82d\"},\"image\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/viet-unit-test-cho-spring-boot-application.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2016\\\/10\\\/spring-boot.png\",\"articleSection\":[\"Spring Boot\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/viet-unit-test-cho-spring-boot-application.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/viet-unit-test-cho-spring-boot-application.html\",\"url\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/viet-unit-test-cho-spring-boot-application.html\",\"name\":\"Vi\u1ebft Unit Test cho Spring Boot application - Huong Dan Java\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/viet-unit-test-cho-spring-boot-application.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/viet-unit-test-cho-spring-boot-application.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2016\\\/10\\\/spring-boot.png\",\"datePublished\":\"2020-02-11T23:41:34+00:00\",\"dateModified\":\"2026-02-15T00:20:08+00:00\",\"description\":\"Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh s\u1ebd h\u01b0\u1edbng d\u1eabn cho c\u00e1c b\u1ea1n c\u00e1ch vi\u1ebft Unit Test cho Spring Boot application.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/viet-unit-test-cho-spring-boot-application.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/viet-unit-test-cho-spring-boot-application.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/viet-unit-test-cho-spring-boot-application.html#primaryimage\",\"url\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2016\\\/10\\\/spring-boot.png\",\"contentUrl\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2016\\\/10\\\/spring-boot.png\",\"width\":300,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/viet-unit-test-cho-spring-boot-application.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/huongdanjava.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Vi\u1ebft Unit Test cho Spring Boot application\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#website\",\"url\":\"https:\\\/\\\/huongdanjava.com\\\/\",\"name\":\"Huong Dan Java\",\"description\":\"Java development tutorials\",\"publisher\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#\\\/schema\\\/person\\\/dc859d7f8cbea3b593e6738de9cbb82d\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/huongdanjava.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#\\\/schema\\\/person\\\/dc859d7f8cbea3b593e6738de9cbb82d\",\"name\":\"Khanh Nguyen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg\",\"url\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg\",\"contentUrl\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg\",\"width\":1267,\"height\":1517,\"caption\":\"Khanh Nguyen\"},\"logo\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg\"},\"description\":\"I love Java and everything related to Java.\",\"sameAs\":[\"https:\\\/\\\/huongdanjava.com\",\"https:\\\/\\\/www.facebook.com\\\/nhkhanh2406\",\"https:\\\/\\\/x.com\\\/https:\\\/\\\/twitter.com\\\/KhanhNguyenJ\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Vi\u1ebft Unit Test cho Spring Boot application - Huong Dan Java","description":"Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh s\u1ebd h\u01b0\u1edbng d\u1eabn cho c\u00e1c b\u1ea1n c\u00e1ch vi\u1ebft Unit Test cho Spring Boot application.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/huongdanjava.com\/vi\/viet-unit-test-cho-spring-boot-application.html","og_locale":"en_US","og_type":"article","og_title":"Vi\u1ebft Unit Test cho Spring Boot application - Huong Dan Java","og_description":"Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh s\u1ebd h\u01b0\u1edbng d\u1eabn cho c\u00e1c b\u1ea1n c\u00e1ch vi\u1ebft Unit Test cho Spring Boot application.","og_url":"https:\/\/huongdanjava.com\/vi\/viet-unit-test-cho-spring-boot-application.html","og_site_name":"Huong Dan Java","article_publisher":"https:\/\/www.facebook.com\/nhkhanh2406","article_author":"https:\/\/www.facebook.com\/nhkhanh2406","article_published_time":"2020-02-11T23:41:34+00:00","article_modified_time":"2026-02-15T00:20:08+00:00","og_image":[{"width":300,"height":300,"url":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2016\/10\/spring-boot.png","type":"image\/png"}],"author":"Khanh Nguyen","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/KhanhNguyenJ","twitter_site":"@KhanhNguyenJ","twitter_misc":{"Written by":"Khanh Nguyen","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/huongdanjava.com\/vi\/viet-unit-test-cho-spring-boot-application.html#article","isPartOf":{"@id":"https:\/\/huongdanjava.com\/vi\/viet-unit-test-cho-spring-boot-application.html"},"author":{"name":"Khanh Nguyen","@id":"https:\/\/huongdanjava.com\/#\/schema\/person\/dc859d7f8cbea3b593e6738de9cbb82d"},"headline":"Vi\u1ebft Unit Test cho Spring Boot application","datePublished":"2020-02-11T23:41:34+00:00","dateModified":"2026-02-15T00:20:08+00:00","mainEntityOfPage":{"@id":"https:\/\/huongdanjava.com\/vi\/viet-unit-test-cho-spring-boot-application.html"},"wordCount":805,"commentCount":0,"publisher":{"@id":"https:\/\/huongdanjava.com\/#\/schema\/person\/dc859d7f8cbea3b593e6738de9cbb82d"},"image":{"@id":"https:\/\/huongdanjava.com\/vi\/viet-unit-test-cho-spring-boot-application.html#primaryimage"},"thumbnailUrl":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2016\/10\/spring-boot.png","articleSection":["Spring Boot"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/huongdanjava.com\/vi\/viet-unit-test-cho-spring-boot-application.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/huongdanjava.com\/vi\/viet-unit-test-cho-spring-boot-application.html","url":"https:\/\/huongdanjava.com\/vi\/viet-unit-test-cho-spring-boot-application.html","name":"Vi\u1ebft Unit Test cho Spring Boot application - Huong Dan Java","isPartOf":{"@id":"https:\/\/huongdanjava.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/huongdanjava.com\/vi\/viet-unit-test-cho-spring-boot-application.html#primaryimage"},"image":{"@id":"https:\/\/huongdanjava.com\/vi\/viet-unit-test-cho-spring-boot-application.html#primaryimage"},"thumbnailUrl":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2016\/10\/spring-boot.png","datePublished":"2020-02-11T23:41:34+00:00","dateModified":"2026-02-15T00:20:08+00:00","description":"Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh s\u1ebd h\u01b0\u1edbng d\u1eabn cho c\u00e1c b\u1ea1n c\u00e1ch vi\u1ebft Unit Test cho Spring Boot application.","breadcrumb":{"@id":"https:\/\/huongdanjava.com\/vi\/viet-unit-test-cho-spring-boot-application.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/huongdanjava.com\/vi\/viet-unit-test-cho-spring-boot-application.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/huongdanjava.com\/vi\/viet-unit-test-cho-spring-boot-application.html#primaryimage","url":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2016\/10\/spring-boot.png","contentUrl":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2016\/10\/spring-boot.png","width":300,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/huongdanjava.com\/vi\/viet-unit-test-cho-spring-boot-application.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/huongdanjava.com\/"},{"@type":"ListItem","position":2,"name":"Vi\u1ebft Unit Test cho Spring Boot application"}]},{"@type":"WebSite","@id":"https:\/\/huongdanjava.com\/#website","url":"https:\/\/huongdanjava.com\/","name":"Huong Dan Java","description":"Java development tutorials","publisher":{"@id":"https:\/\/huongdanjava.com\/#\/schema\/person\/dc859d7f8cbea3b593e6738de9cbb82d"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/huongdanjava.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/huongdanjava.com\/#\/schema\/person\/dc859d7f8cbea3b593e6738de9cbb82d","name":"Khanh Nguyen","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/07\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg","url":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/07\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg","contentUrl":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/07\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg","width":1267,"height":1517,"caption":"Khanh Nguyen"},"logo":{"@id":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/07\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg"},"description":"I love Java and everything related to Java.","sameAs":["https:\/\/huongdanjava.com","https:\/\/www.facebook.com\/nhkhanh2406","https:\/\/x.com\/https:\/\/twitter.com\/KhanhNguyenJ"]}]}},"_links":{"self":[{"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/posts\/15525","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/comments?post=15525"}],"version-history":[{"count":6,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/posts\/15525\/revisions"}],"predecessor-version":[{"id":25063,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/posts\/15525\/revisions\/25063"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/media\/1680"}],"wp:attachment":[{"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/media?parent=15525"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/categories?post=15525"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/tags?post=15525"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}