카테고리 없음

Assert.assertTrue(); & @Transactional

컴공 윤서혜 학습일기 2021. 3. 19. 20:20

1. AsserAssert.assertTrue();

반드시 데이터가 존재해야하는지, 아니면 존재하지 말아야하는지 확인할때 사용하는 방법입니다.

 

1L은 존재하기 때문에 존재한다고 출력이 잘 되었고,

1L은 다음 소스코드 과정에서 삭제가 되었기 대문에, 존재하지 않는다는것도 잘 출력이 되었습니다.

 

 

만약에, 이미 존재하지 않은 코드를 존재한다고 출력하면 어떻게 될까요?

Assert.assertTrue(user.isPresent());에서 이미 걸려버리게 됩니다.

그래서 컴파일하는데 오류가 나오게 됩니다.

 

추가적으로 62번째 코드에서 오류났다는것을 확인 할 수 있습니다.

 

 

 

2. @Transactional

작동이 잘 완료된것을 볼 수 있습니다.

하지만 db에 들어가보면 id가 삭제되지않은것을 볼 수 있습니다.

Transactional은 소스코드가 작성되는 대신에, db에 영향을 주지않는 방식이 필요할 때 사용하는 방식입니다.