반응형

테스트

    Spring Junit5 test Mockito (백기선님 인프런 강의)

    mockito는 실제 객체와 비슷하게 동작하도록 하여 검증할 수 있는 방법을 제공해주는 라이브러리 이다. spring-boot-starter-test 모듈에 기본적으로 포함되어 있으며, 이 모듈을 사용하지 않을 경우 mockito-core, mockito-junit-jupiter 모듈을 추가하면 된다. Mock 객체 만들기 Mock 객체를 만들어서 테스트를 진행할 수 있다. Mock객체로 만들고 싶은 객체에 @Mock 어노테이션을 달기만 하면 되는데 이때 만들어진 Mock 객체는 Null이기 때문에 그렇게 하지 않기 위해서 @ExtendWith(MockitoExtension.class)를 추가한다. @ExtendWith(MockitoExtension.class) class MockWedulTest { @..

    Spring Boot에서 6.4 Elasticsearch 연결 및 간단 CRUD

    Elasticsearch를 Spring Boot에서 작업을 하는 간단한 정리를 해보자. 1. Library 추가Elasticsearch를 사용하기 위해서는 spring-data-elasticsearch 라이브러리가 추가되어야 한다. gradle에 추가해보자.1234567dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-elasticsearch' implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' compileOnly "o..

    백준 4936 - 섬의개수

    결국은 순회하면서 하는 DFS를 했는데 다음번에는 DP 또는 그래프 문제를 좀 많이 풀어 보고 싶다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126import java.util.*; public class Main { public static void main(String[..

    테스트 모듈 Assert 정리

    Assert는 node.js의 단위 테스트를 하기위해서 제공되는 테스트 모듈이다. 해당 모듈의 주요 메소드를 정리해보자. Assert 메소드 정리 // 모듈 로드 const assertion = require('assert');assertion.ok(object)인자값이 true가 아니면 에러assertion.ifError(object)인자값이 false가 아니면 에러assertion.equal(object, object) 두 개의 인자를 == 으로 비교 assertion.notEqual(object, object)두 개의 인자를 != 으로 비교assertion.staticEqual(object, object)두 개의 인자를 === 으로 비교assertion.notStaticEqual(object, ob..

    프로그래밍 코드 작성 시 주요원칙 (SOLID)

    단일 책임 원칙 (Single Responsibility Principle) SRP -> 객체는 오직 하나의 책임만을 가져야한다. -> 객체에서 책임이라고 한다면 객체의 역할을 의미한다. 좋은 설계란 => 기본적으로 시스템에 새로운 요구사항이나 변경이 있을 때 가능한 한 영향 받는 부분을 줄여야 한다. 프로그램의 요구사항은 계속해서 변경되기 마련이다. 이를 위해서 항상 변경이 가능하도록 조치가 되어있어야 하며, 이런 시스템이 변화에 잘 적용되도록 설계되어 있는지 확인 하는 것을 회귀 테스트(regression)라고 한다. 개방폐쇄원칙 (Open-Closed principle) OCP - 기존의 코드를 변경하지 않으면서 기능을 추가할 수 있도록 설계가 되어야 한다. 리스코프 치한원칙 (LSP) - 자식클래..

    정렬알고리즘 - 선택정렬

    1234567891011121314151617181920212223242526272829for(int i = 0; i

    10진수 2진수 변환

    1234567891011121314151617181920212223242526272829303132package java8; import java.util.Scanner; public class MainClass { public static void main(String args[]) { Scanner in = new Scanner(System.in); StringBuilder result = new StringBuilder(); int input; System.out.print("10진수를 입력하세요. : "); input = in.nextInt(); //10 -> 2진수 while (input != 1) { result.insert(0, String.valueOf(input % 2)); input =..

    백준 1924 - 요일 맞추기

    12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879import java.util.Scanner; @SuppressWarnings("resource")public class Main { enum YOIL { MON, TUE, WED, THU, FRI, SAT, SUN } public static void main(String args[]) { Scanner sc = new Scanner(System.in); int x = sc.nextInt(); int y = sc.nextInt(); if (..

    백준 2839 - 설탕 배달

    1234567891011121314151617181920212223242526import java.util.Scanner; public class Main { public static void main(String args[]) { int n = new Scanner(System.in).nextInt(); int three = 0, int five = n / 5; int n %= 5; while (five >= 0) { if (n % 3 == 0) { three = n / 3; n %= 3; break; } five--; n += 5; } if (n==0) { System.out.println(five + three); } else { System.out.println(-1); } }}Colored by..

    Junit 정리 - 서비스 테스트 하기

    전장에서 컨트롤러 테스트 방법을 공부하였다. 이번에는 서비스를 가지고 테스트 하는 방법을 설명한다. Assert 시리즈로 검증하기 - Assert 시리즈를 활용하면 해당 메소드의 결과값이 true인지 검증 뿐만 아니라 null 인지 등도 테스트를 진행할 수 있다. Assert로 설정한 대로 동작하지 않으면 테스트 도중 실패로 끝나기 때문에, 잘못된 결과 값이 나온다는 것을 확인하고 코드를 수정할 수 있다. Assert 관련 메서드 종류는 다음과 같다. Assert 메서드 종류설명assertArrayEquals(a, b)배열 a와 b가 일치함을 확인한다.assertEquals(a, b)객체 a와 b가 일치함을 확인한다. (객체에 정의되어 있는 equals를 통해 비교한다.)assertSame(a, b)객체..

반응형