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

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

PHPz
PHPz앞으로
2023-05-16 08:28:131167검색

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으로 문의하시기 바랍니다. 삭제