본문 바로가기
개발일지/일간회고 (TIL)

Java 테스트 코드

by 윤승임 2022. 12. 4.

테스트코드

  • 개발 과정 중 예상치 못한 문제를 미리 발견할 수 있다.
  • 작성한 코드가 의도한 대로 작동하는지 검증할 수 있다.
  • 코드의 변경, 추가, 삭제 시 사이드 이펙트를 줄일 수있다. → 마음편한 변경, 추가, 삭제 가능 → 마음편한 리팩터링 가능! “돌아가는 코드 건들지마라!!” ❌

 

JUnit 5 (Java Unit Testing)

자바 단위 테스트 자동화를 지원하는 프레임워크.

JUnit Platform, JUnit Jupiter, JUnit Vintage 모듈로 구성된다.

 

실행 구조

JUnit은 어노테이션이 지정된 메서드 또는 클래스를 실행합니다.

JUnit은 @BeforeClass로 지정된 클래스를 가장 먼저 실행

그 이후로는 @Test, @Befre, @After로 지정된 메서드를 실행

테스트 케이스가 모두 실행 완료되면 @AfterClass로 지정된 클래스가 실행

전역

AAA 패턴

  • Arrange (준비): 테스트를 실행하기 전에 필요한 것들을 준비.
  • Act (실행): 테스트 코드를 실행.
  • Assert (단언): 실행한 코드가 예상한대로 동작했는지 확인. assertTrue(), assertThat() 등의 코드들이 여기에 해당.

https://codechacha.com/ko/unittest-aaa-pattern/

 

 

https://withhamit.tistory.com/490

어노테이션 (Annotation)

주석이라는 의미, JDK 1.5 버전 이상에서 자바 소스 코드에 사이에 @ 기호를 앞에 붙여서 사용.

@Test : 가장 기본이 되는 Annotation으로, 특정 Method 에 선언 하여 Test 하도록 함

@BeforeEach : 테스트 할 메서드가 호출되기 전에 '매번 먼저' 호출되는 코드
// 전역 변수도 같은 효과가 있어 매번 호출된다.

@AfterEach : 테스트 할 메서드가 호출된 후에 '매번' 호출되는 코드

@BeforeAll : 테스트 할 메서드가 호출되기 전에 '먼저 한번만' 호출되는 코드

@AfterAll : 테스트 할 메서드가 호출된 후에 '한번만' 호출되는 코드

@RepeatedTest : 반복 테스트라는 것을 명시함

@DisplayName : 테스트 클래스 또는 테스트 메서드에 대한 사용자 지정 표시 이름을 선언

용도

  1. 컴파일러에게 코드 작성 문법 에러를 체크하도록 정보를 제공함
  2. 소프트웨어 개발툴이 빌드나 배치시 코드를 자동으로 생성할 수 있도록 정보 제공함
  3. 실행 시(런타임시) 특정 기능을 실행하도록 정보를 제공함

종류

파이썬 2차원 배열 선언하기

https://velog.io/@sjy5386/Python-2%EC%B0%A8%EC%9B%90-%EB%B0%B0%EC%97%B4-%EC%84%A0%EC%96%B8%ED%95%98%EA%B8%B0

 

[Python] 2차원 배열 선언하기

Python에서의 1차원 배열 선언 Python에서 1차원 배열을 선언할 때는 다음과 같이 * 연산자를 이용해 간단하게 선언할 수 있다. [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 같은 방식으로 2차원 배열 선언 하지만, 2차원

velog.io

https://achiven.tistory.com/1175584309

OSI 7계층

given, when, then

given: 주어지는 값

when: 무엇을 했을 때

then: 이것을 원한다

'개발일지 > 일간회고 (TIL)' 카테고리의 다른 글

레이어드 아키텍처 패턴  (0) 2022.12.06
왜 안되는걸까  (0) 2022.12.06
자바(Java) Interface, Stream, Optinal  (0) 2022.12.01
Java 코드가 실행되는 과정  (0) 2022.11.30
발표도 끝! / TIL (22-09-14)  (0) 2022.11.29