Software Testing
Kotest
Framework
Kotlin의 테스팅 프레임워크에 대해 소개한다.
JVM 기반 프로그래밍 언어
Kotlin
어노테이션
어노테이션
JVM 기반 프로그래밍 언어
Kotlin
Kotlin 테스팅
Kotest
Kotlin의 테스팅 프레임워크에 대해 소개한다.
Spring Framework
Spring REST Docs
간단한 Spring REST Docs 구현
Software Testing
MockK
MockK 사용법
MockK는 테스트 코드를 작성하기 위한 코틀린 Mock 라이브러리이다. 이 문서는 공식 문서를 한국어로 변역하였다.
JVM 기반 프로그래밍 언어
Kotlin
고급 키워드
external 키워드
JVM 기반 프로그래밍 언어
Kotlin
제네릭스
제네릭
JVM 기반 프로그래밍 언어
Kotlin
개요
코틀린 개요
JVM 기반 프로그래밍 언어
Kotlin
개요
개발 환경 및 설치
JVM 기반 프로그래밍 언어
Kotlin
기본
코드 간단히 살펴보기
Software Testing
Kotest
Extensions
Kotest에는 다양한 확장 프로젝트에 대해서 설명한다.
JVM 기반 프로그래밍 언어
Kotlin
제네릭스
공변과 불변
Spring Framework
Spring Batch
간단한 Spring Batch 구현
Spring Framework
Spring Cache
Spring Boot Cache Caffeine
JVM 기반 프로그래밍 언어
Kotlin
고급 키워드
reified 키워드
JVM의 사양에 따라 제네릭 함수의 형태는 일반적으로 실행시에는 손실되지만 Kotlin에서는 inline
과 reified
을 이용하는 것으로, 실행시에도 제네릭 함수의 형태를 참조하는 것이 가능하다.
JVM 기반 프로그래밍 언어
Kotlin
기본
데이터 타입
JVM 기반 프로그래밍 언어
Kotlin
기본
기본 자료형과 참조 자료형
JVM 기반 프로그래밍 언어
Kotlin
기본
변수 선언
JVM 기반 프로그래밍 언어
Kotlin
기본
연산자(Operators)
JVM 기반 프로그래밍 언어
Kotlin
기본
연산자 오버로딩
JVM 기반 프로그래밍 언어
Kotlin
클래스와 객체
널 안정성
Software Testing
Kotest
Assertions
Kotlin의 Assertion 및 Matchers에 대해서 설명한다.
Software Testing
Kotest
Kotlin의 테스팅 프레임워크에 대해 소개한다.
Spring Framework
Spring Tutorial
Spring Retry
Spring Retry는 메소드를 호출해서 예외가 발생 했을 때, 자동으로 지정한 메소드를 다시 호출하는 기능을 제공
JVM 기반 프로그래밍 언어
Kotlin
고급 키워드
expect, actual 키워드
JVM 기반 프로그래밍 언어
Kotlin
기본
제어 구문
JVM 기반 프로그래밍 언어
Kotlin
클래스와 객체
초기화 지연
Software Testing
Kotest
Property Testing
Property Testing에 대해서 설명한다.
Software Testing
MockK
MockK에 대해 소개한다.
JVM 기반 프로그래밍 언어
Kotlin
기본
예외 처리
JVM 기반 프로그래밍 언어
Kotlin
함수
함수
JVM 기반 프로그래밍 언어
Kotlin
함수형 프로그래밍
일급 함수
JVM 기반 프로그래밍 언어
Kotlin
함수형 프로그래밍
고차 함수
JVM 기반 프로그래밍 언어
Kotlin
함수형 프로그래밍
람다 식
JVM 기반 프로그래밍 언어
Kotlin
고급 함수
범위 함수
JVM 기반 프로그래밍 언어
Kotlin
고급 함수
중위 표기법 함수
JVM 기반 프로그래밍 언어
Kotlin
고급 함수
인라인 함수
Software Testing
Kotest
Intellij Plugin
Kotest 인텔리제이 플러그인에 대해 소개한다.
JVM 기반 프로그래밍 언어
Kotlin
클래스와 객체
클래스
JVM 기반 프로그래밍 언어
Kotlin
클래스와 객체
접근 제한자
JVM 기반 프로그래밍 언어
Kotlin
클래스와 객체
추상 클래스
JVM 기반 프로그래밍 언어
Kotlin
클래스 계층
인터페이스
JVM 기반 프로그래밍 언어
Kotlin
특별한 클래스
Kotlin 데이터 클래스
JVM 기반 프로그래밍 언어
Kotlin
특별한 클래스
열거형 클래스(Enum Classes)
JVM 기반 프로그래밍 언어
Kotlin
특별한 클래스
Sealed 클래스
JVM 기반 프로그래밍 언어
Kotlin
클래스 계층
위임 (Delegation)
JVM 기반 프로그래밍 언어
Kotlin
클래스와 객체
Object 키워드
JVM 기반 프로그래밍 언어
Kotlin
고급 함수
확장 함수
JVM 기반 프로그래밍 언어
Kotlin
기본
분해 선언
JVM 기반 프로그래밍 언어
Kotlin
함수
패키지, 가져오기
JVM 기반 프로그래밍 언어
Kotlin
쓰레드와 동시성
Thread 생성 및 실행
JVM 기반 프로그래밍 언어
Kotlin
쓰레드와 동시성
코루틴
Software Testing
Kotest
Property Testing
Kotest 프로퍼티 테스팅
Kotest의 프로퍼티 테스팅은 입력과 기대 출력을 정의하고, 프로퍼티를 만족시키는 여러 입력을 생성하여 테스트하는 방법이다.
Software Testing
Kotest
Assertions
Kotest 단언문
테스트에서는 특정 조건이 참인지 확인하기 위해 Assertion을 사용한다. Kotlin에서는 Kotest를 통해 다양한 종류의 Assertion과 Matchers를 활용할 수 있다. 이번 섹션에서는 Assertion과 Matchers에 대해 자세히 살펴보겠다.
Software Testing
Kotest
Extensions
Kotest 외부 확장
Kotest는 다른 많은 라이브러리 및 프레임워크와 통합된다. 일부는 Kotest 팀에서 제공하고, 일부는 타사에서 유지 관리 및 호스팅되고 있다.
Software Testing
Kotest
Intellij Plugin
Intellij Plugin
Kotest의 Intellij Plugin에 대해 소개한다.
Software Testing
Kotest
Framework
Kotest 개요
Kotlin의 테스팅 프레임워크에 대해 소개한다.
JVM 기반 프로그래밍 언어
Kotlin
컬렉션
콜랙션(Collection)
JVM 기반 프로그래밍 언어
Kotlin
개요
JVM 기반 프로그래밍 언어
Kotlin
문자열
문자열 템플릿
문자열 리터럴 내에서 변수나 수식 표시하기 방법에 대해 소개한다.
Software Testing
Kotest
Extensions
Kotest Spring 확장
Kotest는 종속성 주입을 위해 Spring 프레임워크를 사용하는 코드를 테스트할 수 있는 Spring 확장 기능을 제공한다.
Software Testing
Kotest
Intellij Plugin
Intellij Plugin 테스트 탐색기
Kotest의 Intellij Plugin 테스트 탐색기에 대해서 소개한다.
Software Testing
Kotest
Property Testing
Kotest 프로퍼티 테스트 함수
Kotest에서 프로퍼티 테스트를 실행하는 데 사용되는 두 가지 변형 함수는 forAll
과 checkAll
두가지가 있다.
Software Testing
Kotest
Framework
Kotest 프로젝트 설정
Kotest는 Kotlin으로 작성된 강력한 테스트 프레임워크이다. 프로젝트 설정을 하는 방법에 대해서 설명한다.
JVM 기반 프로그래밍 언어
Kotlin
기본
Spring Framework
Spring Boot
Spring Boot Kotlin으로 만들기
Kotlin 언어를 사용하여 간단한 Spring Boot Web 생성
Software Testing
Kotest
Extensions
Kotest Ktor
Ktor 확장에 대해서 설명한다.
Software Testing
Kotest
Intellij Plugin
Intellij Plugin 속성
Kotest의 Intellij Plugin에서 속성을 설정하는 방법에 대해서 소개한다.
Software Testing
Kotest
Property Testing
Kotest 제너레이터
Kotest의 제너레이터는 프로퍼티 기반 테스팅을 지원하는데 사용되는 도구이다.
Software Testing
Kotest
Framework
Kotest 기본 작성법
Kotest의 기본 작성법, 테스트 실행과 보고서에 대해 설명한다.
Software Testing
Kotest
Assertions
Kotest 사용자 정의 매처
Kotest에서는 커스텀 매처를 만들어 특정 조건을 확인할 수 있다.
JVM 기반 프로그래밍 언어
Kotlin
문자열
문자열을 정수로 변환
문자열을 정수로 변환하고, 정수를 문자열로 변환하는 방법에 대해 소개한다.
JVM 기반 프로그래밍 언어
Kotlin
함수
Software Testing
Kotest
Extensions
Kotest 시스템 확장
Kotest의 시스템 확장(System Extensions)은 Java의 java.lang.System 클래스와 관련하여 시스템 호출에 대한 Assertion을 제공한다. 이 확장은 시스템 호출에 대한 예외를 테스트하고, 시스템 출력 또는 시스템 종료와 같은 동작을 확인하는 데 사용된다.
Software Testing
Kotest
Property Testing
Kotest 제너레이터 목록
Kotlin의 제너레이터의 전체 목록에 대해 소개한다.
Software Testing
Kotest
Framework
Kotest 테스팅 스타일
Kotest에는 다양한 테스트 스타일(Testing Styles)을 제공하고 있다. 여기서는 다양한 테스트 스타일에 대해서 설명한다.
JVM 기반 프로그래밍 언어
Kotlin
클래스와 객체
Software Testing
Kotest
Property Testing
Kotest 제너레이터 명령
Kotest 제너레이터 연산(Generator Operations)으로 Next, Filter, Map, FlatMap, Merging, Bind에 대해 소개한다.
Software Testing
Kotest
Extensions
Kotest 테스트 컨테이너
Testcontainers는 테스트 시에 컨테이너 기반의 외부 리소스를 사용할 수 있게 해주는 도구이다. 이를 통해 실제 환경과 유사한 테스트 환경을 구축하고, 외부 리소스에 대한 테스트를 보다 쉽게 수행할 수 있다. 여기서는 Kotest에서 Testcontainers를 활용하는 방법에 대해서 설명한다.
Software Testing
Kotest
Assertions
Kotest 단서
Kotest에슨 단서(Clues)를 사용하면, Assertion에 대해 상세한 설명 제공할 수 있다.
Software Testing
Kotest
Framework
Kotest 조건부 테스트
테스트를 비활성화하는 방법에는 여러 가지가 있다. 테스트에서 하드 코딩하거나, 런타임에 조건부로 비활성화할 수도 있다.
Software Testing
Kotest
Assertions
Kotest 예외
Kotlin의 예외를 제외하는 단언문에 대해서 설명한다.
Software Testing
Kotest
Extensions
Kotest Kafka
Kotest의 EmbeddedKafkaListener는 Apache Kafka를 내장된 형태로 테스트 환경에서 사용할 수 있게 해주는 확장 기능이다.
Software Testing
Kotest
Framework
Kotest 격리 모드
격리 모드(Isolation Modes)의 설정으로 테스트 엔진이 테스트 케이스에 대한 스펙 인스턴스를 생성하는 방법을 제어할 수 있다. 즉, 테스트 케이스마다 테스트 인스턴스를 어떻게 생성할지를 결정한다.
JVM 기반 프로그래밍 언어
Kotlin
함수형 프로그래밍
Software Testing
Kotest
Framework
Kotest 라이프사이클 후크
효과적인 테스트 코드를 작성하는데 있어서 각 테스트 케이스의 라이프사이클을 관리하는 것이 중요한다. 여기서는 라이프사이클 후크를 하는 방법에 대해서 설명한다.
Software Testing
Kotest
Extensions
Kotest 모의 서버
MockServer는 가상의 HTTP 서버를 제공해준다. 이 라이브러리를 사용하면 별도로 Mocking 라이브러리(mockk 등)를 사용하지 않고 실제 서버와 통신하는 것과 같이 테스트를 수행할 수 있다.
Software Testing
Kotest
Property Testing
Kotest 시드
속성 테스트를 실행하면 시드 값에서 생성된 임의 소스를 사용하여 값이 생성된다.
Software Testing
Kotest
Assertions
Kotest 소프트 단어문
Soft Assertions는 assertSoftly 함수를 이용하여 여러 단언문을 묶어서 수행하기 위한 용도로 사용한다.
Spring Framework
Spring Framework
Spring 의존 자동 주입
Software Testing
Kotest
Property Testing
Kotest 구성
Kotest의 Property Testing 구성에 대해서 설명한다.
Software Testing
Kotest
Extensions
Kotest JUnit XML
Kotest는 JUnit XML 형식의 테스트 보고서를 생성할 수 있다. 이 형식은 CI/CD 도구와 같은 자동화된 테스트 실행 환경에서 사용될 수 있다. JUnit XML 보고서는 테스트 수행 결과를 기록하고 이를 분석하여 테스트 결과에 대한 통계 및 품질 지표를 생성하는 데 사용된다.
Software Testing
Kotest
Assertions
Kotest 인스펙터
Kotest는 Matcher 외에도 Matcher와 관련된 인스펙터라는 개념을 지원한다. 인스펙터는 컬렉션 함수에 대한 확장 함수로, 주어진 단언문이 컬렉션 원소 중 어떤 그룹에 대해 성립하는지 검증할 수 있다.
Software Testing
Kotest
Framework
Kotest 확장
Kotest의 Extensions는 Kotest 테스트 실행 프레임워크에서 테스트 라이프사이클에 통합할 수 있는 다양한 기능을 제공하는 확장 기능이다.
Software Testing
Kotest
Extensions
Kotest HTML 보고서
Kotest는 HTML 형식의 테스트 보고서를 생성할 수 있는 HTML 리포터(HTML Reporter)를 제공한다. 이를 통해 테스트 실행 결과를 시각적으로 확인할 수 있으며, 테스트 수행에 대한 상세 정보를 제공한다.
Software Testing
Kotest
Framework
Kotest 코루틴
Kotest에서 코루틴을 테스트하는 방법에 대해서 설명하다.
Software Testing
Kotest
Assertions
Kotest 단언문 모드
Assertion Mode는 테스트에서 Assertion이 실행을 하지 않는 테스트가 실행될 경우에 제어하는 옵션이다.
JVM 기반 프로그래밍 언어
Kotlin
문자열
Software Testing
Kotest
Extensions
Kotest Allure 확장
Allure 확장에 대해 소개한다.
Software Testing
Kotest
Property Testing
Kotest 축소
속성 기반 테스트에서 처음에 발견된 실패 사례에는 실제로 테스트를 실패하게 만드는 많은 복잡성이 포함되어 있을 수 있다.
Software Testing
Kotest
Assertions
Kotest 코어 매처
Kotest 코어 매처 종류에 대해 소개한다.
Software Testing
Kotest
Framework
Kotest 예외 테스트
Kotest에서의 예외 테스트에 대해 설명한다.
Spring Framework
Spring Batch
JVM 기반 프로그래밍 언어
Kotlin
컬렉션
배열 선언, 초기화
배열을 선언하고 초기화하는 방법을 소개한다.
Software Testing
Kotest
Extensions
Kotest 현재시간 인스턴트 리스너
현재시간 인스턴트 리스너(Current Instant Listeners) 확장에 대해 소개한다.
Software Testing
Kotest
Property Testing
Kotest 통계
때로는 생성기가 예상한 방식으로 구성되었는지 확인하기 위해 Kotest에서 생성되는 값의 유형을 알고 싶을 수 있다.
Software Testing
Kotest
Assertions
Kotest 콜렉션 매처
Collection, Iterable 및 Array 유형에 사용할 수 있는 풍부한 매처를 소개한다.
Software Testing
Kotest
Framework
Kotest 데이터 기반 테스트
효과적인 테스트를 위해서는 테스트 데이터의 생성, 관리 및 정리가 중요한다. 이번 섹션에서는 Kotest를 사용하여 테스트 데이터를 어떻게 관리하는지에 대해 알아보겠다.
JVM 기반 프로그래밍 언어
Kotlin
컬렉션
JVM 기반 프로그래밍 언어
Kotlin
컬렉션
배열에서 최소값, 최대값 찾기
배열의 요소들 중에서 최소값, 최대값을 찾는 방법에 대해서 소개한다.
Software Testing
Kotest
Extensions
Kotest Koin
Kotest Koin 확장에 대해 소개한다.
Software Testing
Kotest
Assertions
Kotest JSON 매처
JSON 매처에 대해서 설명한다.
Software Testing
Kotest
Property Testing
Kotest 글로벌 설정
일부 프로퍼티 테스트 설정은 모든 프로퍼티 테스트에 대해 전역적으로 설정할 수 있다.
Software Testing
Kotest
Framework
Kotest 비결정적 테스트
Non-deterministic Testing은 소프트웨어의 무결성을 검증하는 데 도움이 될 수 있다. 예를 들어, 병렬 프로세스, 외부 네트워크 호출, 다양한 시스템 자원에 대한 액세스 등과 같이 무작위성을 가지는 요소들을 포함하는 소프트웨어 시스템을 효과적으로 테스트할 수 있다.
Software Testing
Kotest
Extensions
Kotest WireMock
WireMock 확장에 대해 소개한다.
Software Testing
Kotest
Assertions
Kotest Ktor 매처
Ktor 매처에 대해서 설명한다.
Software Testing
Kotest
Property Testing
Kotest Arrow Generators
Kotest는 Arrow에 대한 생성기를 제공하는 옵션 모듈을 제공한다.
Software Testing
Kotest
Framework
Kotest 통합
Kotest와 모킹 프레임워크(mockk) 및 JaCoCo를 함께 사용하여 좀 더 견고하고 품질 높은 테스트를 작성할 수 있다. 여기에서는 테스트의 격리와 의존성 관리를 도와주는 mockk과 코드 커버리지 도구로, 코드베이스에서 얼마나 많은 부분이 테스트되었는지를 측정할 수 있는 JaCoCo에 대해서 설명한다.
Software Testing
Kotest
Extensions
Kotest Test Clock
Test Clock 확장에 대해서 설명한다.
Software Testing
Kotest
Assertions
Kotest Kotlinx Datetime 매처
Kotlinx Datetime 매처에 대해서 설명한다.
Software Testing
Kotest
Property Testing
Kotest Kotlinx DateTime
Kotest는 KotlinX DateTime용 생성기를 제공하는 옵션 모듈을 제공한다.
Software Testing
Kotest
Framework
Kotest 테스트 순서 제어
Kotest에서의 Ordering은 테스트 실행의 순서를 제어하는 기능이다. 특정한 순서로 테스트를 실행하고 싶거나, 특정 조건에 따라 테스트를 필터링하고 실행할 때 유용하다.
JVM 기반 프로그래밍 언어
Kotlin
제네릭스
Software Testing
Kotest
Extensions
Kotest Pitest
Pitest 확장에 대해 소개한다.
Software Testing
Kotest
Assertions
Kotest Arrow 매처
Allow 매처 확장 라이브러리의 모든 현재 매처가 나열되어 있다.
Software Testing
Kotest
Property Testing
Kotest Extra Arbs
Kotlin의 테스팅 프레임워크에 대해 소개한다.
Software Testing
Kotest
Framework
Kotest 테스팅 그룹화
효과적인 소프트웨어 테스트를 위해서는 테스트 케이스를 작성하고 관리하는 것이 중요하다. 이번 섹션에서는 Kotest를 사용하여 테스트 케이스를 작성하는 방법에 대해 알아보겠다.
Software Testing
Kotest
Extensions
Kotest BlockHound
BlockHound 확장에 대해 소개한다.
Software Testing
Kotest
Property Testing
Kotest Reflective Arbs
JVM에서 테스트를 실행할 때 Kotest는 더 복잡한 Arb를 자동으로 생성하는 기능을 지원한다.
Software Testing
Kotest
Framework
Kotest 자원
Kotest에서의 리소스 자동으로 닫도록 하는 방법과 테스트에 필요한 파일 및 디렉터리 임시 생성 방법에 대해서 설명한다.
JVM 기반 프로그래밍 언어
Kotlin
고급 키워드
Software Testing
Kotest
Assertions
Kotest Konform 매처
Konform 매처는 테스트에 사용하여 지정된 개체가 유효성 검사를 통과했는지 또는 유효성 검사에 실패했는지 확인할 수 있다.
Software Testing
Kotest
Framework
Kotest 구성
Kotest 구성(Configuration)은 테스트 실행 동작을 커스터마이징하고 제어하는 데 사용된다. 다양한 설정 옵션을 제공하여 사용자가 테스트 환경을 원하는 대로 조정할 수 있다.
Software Testing
Kotest
Assertions
Kotest Klock 매처
Klock 매처에 대해서 설명한다.
Software Testing
Kotest
Framework
Kotest 테스트 팩토리
때로는 일반 테스트 세트를 작성한 다음 특정 입력에 재사용하고 싶을 때가 있다. Kotest에서는 하나 이상의 스펙에 포함될 수 있는 테스트를 생성하는 테스트 팩토리를 통해 이를 수행할 수 있다.
Software Testing
Kotest
Assertions
Kotest 컴파일러 매처
컴파일러 매처에 대해서 설명한다.
Software Testing
Kotest
Framework
Kotest 테스트 출력
Kotest 테스트 결과를 출력하는 방법에 대해서 설명한다.
Software Testing
Kotest
Assertions
Kotest Jsoup 매처
Jsoup 매처에 대해서 설명한다.
Software Testing
Kotest
Framework
Kotest 타임아웃
테스트에 호출 시간 제한을 두고 테스트를 하는 방법에 대해서 설명한다.
JVM 기반 프로그래밍 언어
Kotlin
컬렉션
목록(List) 선언, 초기화
배열을 선언하고 초기화하는 방법을 소개합니다.
Software Testing
Kotest
Framework
Kotest 다른 설정
Kotest에서 빠르게 실패하는 방법, 빈 테스트인 경우 실패하게 하는 방법 등에 대해서 설명한다.
JVM 기반 프로그래밍 언어
Kotlin
컬렉션
List Distinct 중복 요소 제거
JVM 기반 프로그래밍 언어
Kotlin
컬렉션
목록(List)에서 Set으로 변경
JVM 기반 프로그래밍 언어
Kotlin
컬렉션
배열에서 최소값, 최대값 찾기
List와 Array의 길이(크기), 전체 요소 개수를 가져오는 방법을 소개한다.
JVM 기반 프로그래밍 언어
Kotlin
컬렉션
Map 사용법
Map의 다양한 사용 방법(mapOf, keys, values, mapKeys, mapValues, toSortedMap, Comparator, getOrPut)에 대해서 소개한다.
JVM 기반 프로그래밍 언어
Kotlin
컬렉션
Set 사용법
Set의 다양한 사용 방법(setOf, mutableSetOf, union, intersection, minus)에 대해서 소개한다.
JVM 기반 프로그래밍 언어
Kotlin
컬렉션
Set에서 List으로 변경
JVM 기반 프로그래밍 언어
Ktor
Ktor 프레임워크로 사용하여 프로젝트를 생성해 보도록 하겠다.
JVM 기반 프로그래밍 언어
MapStruct
Spring Framework
Spring Data ETC
Spring Data Neo4j
spring Data Neo4j는 그래프 데이터베이스 중에 하나인 neo4j에 다루는 프레임워크 이다.
Spring Framework
Spring Data ETC
Spring Data Elasticsearch