물리 계층(Physical Layer) - 전압,전류를 이용하여 데이터를 실제 주고 받는 역할 데이터 링크 계층(Data Link Layer) - 물리계층이 잘 동작하는지 확인하는 역할(MAC주소 기반) 네트워크 계층(Network Layer) - 서로 다른 네트워크 간 데이터를 안전하게 전달하는 역할(IP주소 기반) 전송 계층(Transport Layer) - 보낼 데이터의 용량, 속도, 목적지 등 데이터 전송을 제어하는 역할(TCP/UDP) 세션 계층(Session Layer) - 애플리케이션 간 연결 유지 및 해제하는 역할 프레젠테이션 계층(Presentation Layer) - 데이터 문자 인코딩, 암복호화 하는 역할 응용 계층(Application Layer) - 애플리케이션 참고: https:..
1. 정의 셀레니움은 웹 어플리케이션을 편리하게 테스트 하기 위하여 만들어진 tool. 2. 설치 셀레니움 다운로드 https://www.seleniumhq.org/download/ 브라우저 드라이버 다운로드 http://chromedriver.chromium.org/downloads 위 2개 파일을 다운로드해서 한개 폴더에 압축해제한다. 3. 설정 java 프로젝트 생성, 및 build path에서 셀레니움 jar파일 모두 추가 4. 예제 웹 크롤링 package selenium; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.Chrom..
1. service @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = "classpath:spring-context.xml") public class UserServiceImplTest { @Autowired private UserService service; /** * 测试根据用户名查询用户 */ @Test public void getByUsername() { User user = service.getByUsername("小明"); System.err.println(user); } /** * 测试列表查询用户 */ @Test public void list() { List list = service.list(); System...
1. 단위 테스트 작성에 편리한 패턴(given, when, then 패턴) 테스트할 준비를 하고(given), 테스트할 대상을 실행하고(when), 검증(then)하는 패턴은 BDD(Behavior Driven Development)에서 나온 패턴임 @Test public void plus_mockito(){ // given Random random = mock(Random.class); when(random.nextInt()). thenReturn(3); RandomCalculator randomCalculator = new RandomCalculator(random, new Calculator()); // when int result = randomCalculator.plus(2, 5); // th..

1. tdd 용어 정리 용어 설명 SUT 테스트 대상 시스템 DOC 테스트 대상 시스템에서 의존하는 컴포넌트 Test Double 테스트 시에 실제 객체를 대신 할 수 있는 객체를 의미 (Stub, Mock, Fake Object...) 2. 의존성 주입 //의존관계를 갖는 객체를 파라미터로 전달 예제 /* 날짜값 처리 유틸리티 */ //SUT 코드 public class DateHandler{ /* * 현재시간을 (yyyy-MM-dd)로 조회 * @param provider * @return */ public static String getCurrentTime(TimeProvider timeProvider) throws Exception { Calendar c = null; c = timeProvide..
1. JUnit assert 주요 메서드 assert 메서드 설명 assertArrayEquals(a, b); 배열 a와 b가 일치함을 확인 assertEquals(a, b); 객체 a와 b가 일치함을 확인 두 객체의 값이 같은가를 체크 assertSame(a, b); 객체 a와 b가 같은 객체임을 확인 두 객체가 동일한 객체인가(==연산) assertTrue(a); 조건 a가 참인지 확인 assertNotNull(a); 객체 a가 null이 아님을 확인 2. JUnit 어노테이션 설명 @Test(timeout = 5000) 5,000 밀리초가 지나면 테스트 실패 @Test(expected = Exception.class) Exception이 발생하지 않으면 실패 @ignore 테스트 건너 뜀 @Befo..
package com.test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "classpath:/test-co..
1. 컴포넌트는 JSX를 사용하여 만든다. 2. defaultProps 와 propTypes 를 지정할수 있음. 3. 상태관리 - 데이터는 위에서 아래로 한단계씩 전달해야 됨. 변경은 콜백함수 형식으로 위로 한단계씩 전달 4. high order component(고차 컴포넌트) : 리액트 컴포넌트를 인자로 받아서 다른 리액트 컴포넌트를 반환하는 함수 5. 리덕스 구성요소 - 액션(이벤트와 payload 데이터) - 리듀서(액션을 받아서 새로운 데이터를 return) - 스토어(상태 데이터를 가지고 있음) - 액션 생성기(액션생성을 함수를 사용하여 객체를 return하는 방식) - 미들웨어(스토어에 추가 기능을 제공) 리덕스를 사용할 때 컴포넌트는 구성 방법 - 표현 컴포넌트(함수형 컴포넌트, props..