> Java > java지도 시간 > springboot에서 junit 롤백의 역할은 무엇입니까

springboot에서 junit 롤백의 역할은 무엇입니까

PHPz
풀어 주다: 2023-05-16 08:28:13
앞으로
1229명이 탐색했습니다.

Junit은 springboot에서 단위 테스트를 작성하는 데 사용되며 테스트 결과는 데이터베이스에 영향을 미치지 않습니다.

pom은 종속성을 도입합니다

IDE에서 생성된 프로젝트인 경우 이 패키지가 기본적으로 도입되었습니다.

<dependency>
      <groupid>org.springframework.boot</groupid>
      <artifactid>spring-boot-starter-test</artifactid>
      <scope>test</scope>
    </dependency>
로그인 후 복사

데이터베이스 원시 데이터

springboot에서 junit 롤백의 역할은 무엇입니까

원시 데이터

단위 테스트 작성

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);
  }

}
로그인 후 복사

결과 데이터

springboot에서 junit 롤백의 역할은 무엇입니까

결과 데이터

결론

알겠습니다. 코드의 데이터가 =001001은 변경되지 않았으며 코드=001003의 데이터가 성공적으로 수정되었습니다. 코드를 다시 보면

@Transactional은 메소드 전체가 트랜잭션임을 의미하고,

@Rollback은 트랜잭션이 실행 후 롤백된다는 것을 의미합니다. 기본값은 true입니다. 롤백하고, 롤백하지 않으려면 false입니다.

이 주석은 클래스에 대한 주석도 지원합니다. 그렇다면 전체 클래스 방법에 효과적입니다.

springboot에서 junit 롤백의 역할은 무엇입니까

수업 주석

위 내용은 springboot에서 junit 롤백의 역할은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿