본문 바로가기

분류 전체보기21

[기록] 211215 1. JUnit의 동작 방식 JUnit에는 생명주기가 있다. @BeforeClass부터 @AfterClass까지 정해진 순서를 따른다. 동일한 어노테이션이 반복된다면, 그들간의 순서는 보장받지 못한다. 이것은 각 테스트가 최소 단위로 진행된다는 것을 전제하기 때문이다. 테스트 클래스에서 @Test가 붙은 public이고 void형이며 파라미터가 없는 테스트 메소드를 모두 찾는다. 테스트 클래스의 오브젝트를 하나 만든다. @Before가 붙은 메소드가 있으면 실행한다. @Test가 붙은 메소드를 하나 호출하고 테스트 결과를 저장해둔다. @After가 붙은 메소드가 있으면 실행한다. 나머지 테스트 메소드에 대해 2~5번 을 반복한다. 모든 테스트의 결과를 종합해서 돌려준다. 추가로 @BeforeClass와 .. 2021. 12. 18.
[3장] 템플릿 3장 템플릿 1. 다시 보는 초난감 DAO 🤷‍♂️ 템플릿이란 ? 바뀌는 성질이 다른 코드 중에서 변경이 거의 일어나지 않으며 일정한 패턴으로 유지되는 특성을 가진 부분을 자유롭게 변경되는 성질을 가진 부분으로부터 독립시켜서 효과적으로 활용할 수 있도록 하는 방법이다. 예외처리 기능을 갖춘 UserDao의 deleteAll() 메소드 public class UserDao { private DataSource dataSource; public void setDataSource(DataSource dataSource) { this.dataSource = dataSource; } public void deleteAll() throws SQLException { Connection c = null; Prepar.. 2021. 12. 17.
[2장] 테스트 2장 테스트 스프링이 개발자에게 제공하는 가장 중요한 가치는 객체지향과 테스트이다. 스프링의 핵심인 IoC와 DI는 오브젝트의 설계, 관계, 생성, 사용에 관한 기술로 스프링은 IoC와 DI를 통해 객체지향 프로그래밍 언어의 근본과 가치를 개발자가 손쉽게 적용하고 사용할 수 있도록 도와주는 기술이다. 1. UserDaoTest 다시보기 🤷‍♂️ 테스트란? 내가 예상하고 의도했던대로, 코드가 정확히 동작하는지를 확인해서 코드에 대한 확신을 하게 해주는 작업이다. 웹을 통한 DAO 테스트의 문제점 Controller, Service, View 까지 만들어 테스트를 해야한다는 불편함이 존재한다. 위에 작성한 이유로 문제가 발생했을 때 문제가 생긴 지점에 대한 파악이 필요하다. 작은 단위의 테스트 웹을 통한 테.. 2021. 12. 11.
[1장] 오브젝트와 의존관계 스프링은 오브젝트를 어떻게 효과적으로 설계하고 구현하고 사용하고 이를 개선해나갈 것인가에 대한 명쾌한 기준을 마련해준다. 동시에 프레임워크를 제공한다. 1. 초난감 DAO DAO(Data Access Object)는 DB를 사용해 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 오브젝트를 말한다. 사용자 정보를 DB에 넣고 관리할 수 있는 DAO 클래스이며, 사용자 정보를 생성하고, 읽어오는 두 개의 메소드를 먼저 만들었다. public class UserDao { public void add(User user) throws ClassNotFoundException, SQLException { Class.forName("org.h2.Driver"); Connection c = DriverManager.. 2021. 12. 8.