JUnit 是1个归回尝试框架,被开辟者用于实行对于运用次序的单位尝试,放慢模范体例快度,共时抬高编码的量量。
JUnit 尝试框架拥有以停紧张特点:
尝试对象
尝试套件
尝试运转器
尝试分类
SpringBoot中引进junit,pom.xml中加添
<!--______________________________________________junit--><dependency><groupId>junit</groupId><artifactId>junit</artifactId></dependency>那里界说1个尝试的基类,用于始初化战引进公用的模块。
那里始初化了1个掌握Redis的交心类战尝试SpringMVC的MockMvc类。
packagecom.example.demo;importorg.junit.jupiter.api.BeforeEach;importorg.junit.runner.RunWith;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.boot.test.context.SpringBootTest;importorg.springframework.http.MediaType;importorg.springframework.test.context.junit4.SpringRunner;importorg.springframework.test.web.servlet.MockMvc;importorg.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;importorg.springframework.test.web.servlet.request.MockMvcRequestBuilders;importorg.springframework.test.web.servlet.setup.MockMvcBuilders;importorg.springframework.web.context.WebApplicationContext;importcom.example.demo.redis.RedisDao;/***MVC尝试基类*/@RunWith(SpringRunner.class)@SpringBootTest(classes=DemoApplication.class)publicabstractclassTestSupport{/***模仿mvc尝试对于象*/protectedMockMvcmvc;@AutowiredprotectedRedisDaoredisDao;/***web名目高低文*/@AutowiredprivateWebApplicationContextwebApplicationContext;/***全部尝试办法施行之前施行该办法*/@BeforeEachpublicvoidbefore()throwsException{mvc=MockMvcBuilders.webAppContextSetup(webApplicationContext).build();}publicMockHttpServletRequestBuilderpost(Stringuri){returnMockMvcRequestBuilders.post(uri).accept(MediaType.APPLICATION_JSON);}publicMockHttpServletRequestBuilderget(Stringuri){returnMockMvcRequestBuilders.get(uri).accept(MediaType.APPLICATION_JSON);}//@RunWith:记号为JUnit的运转处境;//@SpringBootTest:获得开动类、添载装备,决定拆载SpringBoot;//@Test:阐明须要尝试的办法;//@BeforeClass:针对于全部尝试,只施行1次,且必需为staticvoid;//@AfterClass:针对于全部尝试,只施行1次,且必需为staticvoid;//@Before:每一个尝试办法前城市施行的办法;新版原为@BeforeEach//@After:每一个尝试办法前城市施行的办法;新版原为@AfterEach//@Ignore:疏忽办法;//Assert.assertEquals比照二个值相当//Assert.assertNotEquals比照二个值没有相当//Assert.assertSame比照二个对于象的援用十分//Assert.assertArrayEquals比照二个数组十分//Assert.assertTrue考证前往能否为实//Assert.assertFlase考证前往能否为假//Assert.assertNull考证null//Assert.assertNotNull考证非null}1个单位尝试类施行递次为:
@BeforeClass –> @Before –> @Test –> @After –> @AfterClass
每个尝试办法的移用顺次为:
@Before –> @Test –> @After
那里道1个坑,倘若用矮版原的junit时,应用的是@Before,然则您会创造此刻没有起感化了,那是原因新版原用@BeforeEach调换了,并且您应用也不故障提醒,仅仅没有走始初化办法。
民圆解释:
而后尔们编写本质须要尝试的交心处置类,那里尝试了二个1个是Redis的应用1个是SpringMVC的挪用。
packagecom.example.demo;importorg.junit.Assert;importorg.junit.jupiter.api.Test;importorg.springframework.http.MediaType;importorg.springframework.test.web.servlet.MvcResult;importorg.springframework.test.web.servlet.RequestBuilder;/***MVC尝试*/classDemoApplicationTestsextendsTestSupport{@TestpublicvoidtestRedis()throwsException{redisDao.setKey("name","javacui");redisDao.setKey("age","35");System.out.println(redisDao.getValue("name"));System.out.println(redisDao.getValue("age"));}@TestpublicvoidtestMVC01()throwsException{//传送的参数为JSON,那里没有传送参数RequestBuilderrequest=post("/hello").contentType(MediaType.APPLICATION_JSON).content("");MvcResultmvcResult=mvc.perform(request).andReturn();intstatus=mvcResult.getResponse().getStatus();System.out.println("statusis:"+status);Assert.assertTrue("毛病,准确的前往值为200",status==200);System.out.println(mvcResult.getResponse().getContentAsString());}}尔出格厌恶网上收代码没有收import的人。
配图
END
推举您浏览更多相关于“ 尝试redisspringbootjunit@Before ”的著作