Rumah >Java >javaTutorial >Apakah peranan junit rollback dalam springboot
Gunakan junit untuk menulis ujian unit dalam springboot, dan keputusan ujian tidak menjejaskan pangkalan data.
pom import dependencies
Jika ia adalah projek yang dijana oleh IDE, pakej ini telah diimport secara lalai.
<dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-test</artifactid> <scope>test</scope> </dependency>
Data mentah pangkalan data
data mentah
Menulis ujian unit
package com.mos.quote; import com.mos.quote.model.Area; import com.mos.quote.service.IAreaService; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.Rollback; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; import java.util.List; @RunWith(SpringRunner.class) @SpringBootTest public class QuoteApplicationTests { @Autowired private IAreaService areaService; @Test public void contextLoads() { } @Test public void testUpdate(){ Area area = new Area(); area.setCode("001003"); area.setName("洛阳市"); Integer result = areaService.update(area); Assert.assertEquals(1, (long)result); } @Test @Transactional @Rollback public void testUpdate4Rollback(){ Area area = new Area(); area.setCode("001001"); area.setName("郑州市123"); Integer result = areaService.update(area); Assert.assertEquals(1, (long)result); } }
Keputusan Data
Data keputusan
Kesimpulan
Dapat dilihat bahawa data kod= 001001 tidak berubah dan data dengan kod=001003 telah berjaya diubah suai. Melihat kembali kod:
@Transactional menunjukkan bahawa kaedah tersebut adalah satu urus niaga secara keseluruhan,
@Rollback menunjukkan bahawa urus niaga digulung semula selepas pelaksanaannya menyokong lulus dalam nilai parameter, dan lalai adalah benar Iaitu, rollback, false tidak rollback.
Anotasi ini juga menyokong anotasi pada kelas. Jika ya, ia akan berkesan untuk keseluruhan kaedah kelas.
anotasi pada kelas
Atas ialah kandungan terperinci Apakah peranan junit rollback dalam springboot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!