테스트 11

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 { @..

web/Junit 2019.12.23

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..

web/Spring 2019.02.09 (5)

백준 4936 - 섬의개수

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

JAVA/알고리즘 2018.10.06

테스트 모듈 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..

web/node.js 2018.10.05

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

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

Junit 정리 - DAO 테스트 하기

앞에서 진행했던 컨트롤러, 서비스뿐만 아니라 직접 데이터베이스에 접근하여 쿼리를 사용하는 DAO 클래스도 Junit 단위 테스트를 진행할 수 있다. 앞에 설명했던 부분들과 마찬가지로 bean 생성을 해야하는데 DAO의 경우에는 dataSource와 sqlSession, mybatis, transaction등 설정해야 하는 부분들이 많다. 이번에는 xml이 아닌 java configuration으로 설정했을 때는 어떻게 설정을 진행해야 하는지 살펴보자. 설정 우선 테스트를 진행하려는 클래스를 bean으로 생성하여야 한다. DAO 클래스의 경우 sqlSession이 빈으로 생성되어 있어야 생성할 수 있으므로 @DependOn 어노테이션을 사용하여 의존성을 설정해 준다. 123456789101112131415..

web/Junit 2018.05.27