Day110~112

RISK_TAKER·2023년 7월 7일
0

Day110

깃허브, 작업하던 팀프로젝트를 내 개인 Repository로 이동하기

  1. 깃허브에 Repository 생성

  2. git remote rm origin

  3. git remote add origin '새로운 경로'

  4. git remote -v

  5. git push origin main

전자정부 표준 프레임워크 오픈소스 버전

https://www.egovframe.go.kr/home/sub.do?menuNo=13

테스트 코드 작성하는 방법

  • mvnrepository
    Spring TestContext Framework » 5.2.24.RELEASE
    JUnit » 4.13.2
    AssertJ Core » 3.24.2

  • pom.xml에 dependency 추가

<!-- https://mvnrepository.com/artifact/org.assertj/assertj-core -->
		<dependency>
		    <groupId>org.assertj</groupId>
		    <artifactId>assertj-core</artifactId>
		    <version>3.24.2</version>
		    <scope>test</scope>
		</dependency>
		
		<!-- https://mvnrepository.com/artifact/junit/junit -->
		<dependency>
		    <groupId>junit</groupId>
		    <artifactId>junit</artifactId>
		    <version>4.13.2</version>
		    <scope>test</scope>
		</dependency>
		
		<!-- https://mvnrepository.com/artifact/org.springframework/spring-test -->
		<dependency>
		    <groupId>org.springframework</groupId>
		    <artifactId>spring-test</artifactId>
		    <version>5.2.24.RELEASE</version>
		    <scope>test</scope>
		</dependency>
  • src/test/java 경로에 원래의 패키지명을 동일하게 작성한 후 테스트를 진행 한다.

  • 테스트 클래스 작성
    실행은 Run As -> JUnit Test로 실행하면 된다.

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "file:src/main/webapp/WEB-INF/spring/**/*.xml")
@WebAppConfiguration
public class ReservationServiceTest {

	@Autowired
	ReservationService reservationService;
	
	@Before
	public void before() { 
		System.out.println("before");
	}
	
	@After
	public void after() { 
		System.out.println("after");
		
	}
	
	@BeforeClass
	public static void beforeClass() { 
		System.out.println("beforeClass");
	}
	
	@AfterClass
	public static void afterClass() { 
		System.out.println("afterClass");
	}
	
	//@Test
	public void saveTest() {
		//무슨 값이 기본 세팅으로 주어지는가
		ReservationDto reservationDto = new ReservationDto();
		reservationDto.setRoomNumber("B201");
		reservationDto.setCustomerNumber("1101");
		
		assertThat(reservationDto).isNotNull();
		assertThat(reservationDto.getRoomNumber()).isEqualTo("B201");
		
		//어떤 기능을 수행할 것인가
		int result = reservationService.createReservation(reservationDto);
		
		//그로인해 결과값이 뭐가 나올 것이다.
		assertThat(result).isEqualTo(1);
		
		assertThatThrownBy(() ->{
			reservationService.createReservation(reservationDto);
		}).isInstanceOf(NullPointerException.class); //무결성제약조건
		
	}
	
	@Test
	public void testBasic() {
		
		int num = 1;
		num = num + 10;
		
//		if(num == 11) {
//			System.out.println("결과가 맞다");
//		}
		
		//assertThat(num).isEqualTo(11);
		assertThat(num).isNotEqualTo(11);
		
		boolean flag = true;
		assertThat(flag).isTrue();
		assertThat(flag).isFalse();
	}
	
	@Test
	public void testBasic2() {
		int num = 1;
		num = num + 10;
		
		assertThat(num).isEqualTo(11);
	}
	
	@Test
	public void testBasic3() {
		int num = 1;
		num = num + 10;
		
		assertThat(num).isGreaterThan(5);
	}
	
	@Test
	public void testList() {
		
		List<String> list = List.of("a", "b", "c", "d");
		
		assertThat(list).contains("a");
	}
	
	@Test
	public void testMap() {
		
		Map<String, String> map = new HashMap<String, String>();
		map.put("a", "에이");
		map.put("b", "비");
		map.put("c", "씨");
		
		assertThat(map).isNotEmpty();
		assertThat(map).containsKey("b");
		assertThat(map).containsValue("에이");
		
		assertThat(map).isNotEmpty().containsKey("b").containsValue("에이");
		
		map.remove("b");
		assertThat(map).doesNotContainKey("b");
	}
	
	@Test
	public void testException() {
		ReservationDto dto = null;
		
		assertThatThrownBy(() ->{
			dto.getCustomerNumber();
		}).isInstanceOf(Exception.class);
		
	}
}
  • 실행 결과

주석을 작성하는 방법

Day111

  • 3차 프로젝트 관련
    시니어 인증이 거절된 이후 다시 인증 신청을 하면 DB 테이블에 다시 인증 정보가 입력되는 경우가 발생해서 merge문을 사용해서 인증 데이터가 있으면 update를 하고 없으면 새로 insert를 하도록 수정
  • 발표 포트폴리오 수정

Day112

  • 이수자 평가 발표 준비 기간

  • 3차 프로젝트 관련
    게시글 작성자가 아닌 다른 유저가 수정할 수 있는 url로 바로 접근하는 경우 게시글 수정가능했던 부분 -> url로 접근할 수 없도록 수정 및 변경

0개의 댓글