221020 java

늘숲·2022년 10월 20일
0

스택02test생성
스택알고리즘
setup은 beforeeach
push는 test랑 displayname
stack에 push 2번하고 int[] arr = 객체명.getArr();을 해서
assertEquals()로 기대값과 실제값을 확인

Stack02를 메인 하위 디렉토리에 만들어놓고,
Stack02위에 커서를 위치한 뒤,
gradle프로젝트의 IntelliJ에서 지원하는 Test파일을 생성기능을 사용해 Test를 생성한다.
그럼 Test하위 디렉토리에 Stack02Test가 생성된다.
일단 어노테이션으로 @beforeEach를 선언해서 모든 테스트 전에 실행되는 환경을 만든다.
그 환경을 만드는 메서드를 setUp()이라 하고 그 안에 환경을 구현한다.

그리고 push()와 pop()과 isEmpty()와 peek()에 대한 test를 어케할지 구성해서 Test Method 생성기능으로 @Test가 달린 메서드들을 만들고 @Test 밑에 @DisplayName으로 이 코드가 어떤 기능을 테스트하려는지 의도를 적어준다.
테스트코드에 테스트 환경을 설계하다보면 메서드가 다 빨간색이다.
그러면 그 빨간색으로 표시된 메서드 위에 커서를 올리고 해당하는 메서드를 Stack02안에 만드는 기능을 사용해서 각각 생성한다.
(먼저 Stack02안에 메서드를 만들고 테스트를 하는 방식은 순서상으로는 맞지만, 개발자로서 바람직하지 못하다.)
그래서 테스트코드에서 push()와 pop()과 isEmpty()와 peek()에 대한 test를 하려면 Stack02에는 다음과 같은 메서드들이 만들어져야 한다.
getter, push, pop, isempty, peek
그리고 이 중에서도 pop에는 스택이 비어있을 경우 실행되면 발생할 EmptyStackException에 대한 예외처리가 필요하다.
해당 내용을 Stack02에서 구현해주고, Test에서도 EmptyStackException이 나오면 어떻게 할지를 고려해서 테스트코드를 작성해준다.
https://github.com/gemdoq/like-lion/tree/main/gradle/src

이제 다음으로 유저다오를 스프링을 통해 테스트를 할 것이다.
복습 겸 순서에 대해 리마인드하자면,

커넥션을 열고, preparedStatement를 열고, 코드가 동작중에 만약 예외발생으로 preparedStatement랑 커넥션이 close되지 않으면, 수많은 요청(콜)에 의해 서버가 빠르게 다운된다.
그래서 예외처리를 해줘야 한다.

https://tychejin.tistory.com/323
새 프로젝트를 만들고 어떻게 깃레포지토리에 쉽게 연동하는가

profile
발전, 그리고 숲

0개의 댓글