Tag: Kotlin
코틀린 테스팅 프레임워크 - Kotest
Kotlin의 테스팅 프레임워크에 대해 소개한다.
Kotlin으로 Spring REST Docs 만들기
Kotlin external 키워드
Kotlin 제네릭(Generic)
Kotlin 콜랙션(Collection)
Kotlin 개요
Kotlin 개발 환경 및 설치
Kotlin 코드 간단히 살펴보기
Kotest 프레임워크(Framework)
Kotlin의 테스팅 프레임워크에 대해 소개한다.
Kotlin 제네릭스(Generic) - 공변(covariant)과 불변(invariant)에 대해 이해
Kotlin Map 다양한 사용법 (mapOf, keys, values, mapKeys, mapValues, toSortedMap, Comparator, getOrPut)
코틀린 Map에 대해서 다양한 사용 방법에 대해서 소개한다.
Kotlin으로 Spring Batch 만들기
Kotlin으로 Spring Boot Cache Caffeine 만들기
Kotlin MockK 사용법 (공식 문서 번역)
MockK는 테스트 코드를 작성하기 위한 코틀린 Mock 라이브러리이다. 이 문서는 공식 문서를 한국어로 변역하였다.
Kotlin reified 키워드
JVM의 사양에 따라 제네릭 함수의 형태는 일반적으로 실행시에는 손실되지만 Kotlin에서는 inline
과 reified
을 이용하는 것으로, 실행시에도 제네릭 함수의 형태를 참조하는 것이 가능하다.
Kotlin 데이터 타입
Kotlin 기본 자료형(Primitive type)과 참조 자료형(Reference type)
Kotlin 변수 선언
Kotlin 연산자(Operators)
Kotlin 연산자 오버로딩(Operator overloading)
Kotlin 널 안정성 (Null Safety)
Kotest 확장(Extensions)
Kotest에는 다양한 확장 프로젝트에 대해서 설명한다.
Spring Retry
Spring Retry는 메소드를 호출해서 예외가 발생 했을 때, 자동으로 지정한 메소드를 다시 호출하는 기능을 제공
Kotlin expect, actual 키워드
Kotlin 제어 구문(Control statement)
Kotlin 초기화 지연(lateinit, by lazy)
Kotest 단언문(Assertions)
Kotlin의 Assertion 및 Matchers에 대해서 설명한다.
Kotlin 예외 처리 (try, catch, finally)
Kotlin Set 다양한 사용법 (setOf, mutableSetOf, union, intersection, minus)
코틀린 Set에 대해서 다양한 사용 방법에 대해서 소개한다.
Kotlin 함수(Functions)
Kotlin 일급 함수(First-class functions)
Kotlin 고차 함수(Higher-Order Functions)
Kotlin 람다 식(Lambda expression)
Kotlin 범위 함수(Scope functions) | let, with, run, apply, also
Kotlin 중위 표기법 함수 (Infix functions)
Kotlin 인라인 함수 (Inline functions)
Kotest 프로퍼티 테스팅(Property Testing)
Property Testing에 대해서 설명한다.
문자열과 숫자 변환 (toIntOrNull, toInt)
Kotlin 클래스 (Class)
코틀린 테스팅 프레임워크 - Kotest
Kotlin의 테스팅 프레임워크에 대해 소개한다.
Kotlin 접근 제한자 (Visibility modifiers)
Kotlin 추상 클래스 (Abstract class)
Kotlin 인터페이스
Kotlin 데이터 클래스
Kotlin 열거형 클래스(Enum Classes)
Kotlin Sealed 클래스
Kotlin 위임 (Delegation)
Kotlin Object 키워드
Kotlin 확장 함수 (Extension functions)
Kotlin 분해 선언(destructuring declarations)을 사용하여 Pair 및 Triple 요소 분해
Kotlin 패키지, 가져오기 (Packages)
Kotlin Thread 생성 및 실행
Kotlin 코루틴(Coroutines)
Kotest 프로퍼티 기반 테스트(Property-based Testing)
Kotest의 프로퍼티 테스팅은 입력과 기대 출력을 정의하고, 프로퍼티를 만족시키는 여러 입력을 생성하여 테스트하는 방법이다.
Kotest 테스트 검증 단언문(Assertions)
테스트에서는 특정 조건이 참인지 확인하기 위해 Assertion을 사용한다. Kotlin에서는 Kotest를 통해 다양한 종류의 Assertion과 Matchers를 활용할 수 있다. 이번 섹션에서는 Assertion과 Matchers에 대해 자세히 살펴보겠다.
Kotest 외부 확장(Extensions)
Kotest는 다른 많은 라이브러리 및 프레임워크와 통합된다. 일부는 Kotest 팀에서 제공하고, 일부는 타사에서 유지 관리 및 호스팅되고 있다.
Kotest 개요(overview)
Kotlin의 테스팅 프레임워크에 대해 소개한다.
Kotlin 개요
Kotest 프로퍼티 테스트 함수(Property Test Functions)
Kotest에서 프로퍼티 테스트를 실행하는 데 사용되는 두 가지 변형 함수는 forAll
과 checkAll
두가지가 있다.
Kotest 프로젝트 설정(Setup)
Kotest는 Kotlin으로 작성된 강력한 테스트 프레임워크이다. 프로젝트 설정을 하는 방법에 대해서 설명한다.
Kotlin 기본
Kotlin으로 Spring Boot Web 만들기
Kotlin 언어를 사용하여 간단한 Spring Boot Web 생성
Kotest 제너레이터 (Generators)
Kotest의 제너레이터는 프로퍼티 기반 테스팅을 지원하는데 사용되는 도구이다.
Kotest 기본 작성법(Writing tests)
Kotest의 기본 작성법에 대해 설명한다.
Kotest 사용자 정의 매처 (Custom Matchers)
Kotest에서는 커스텀 매처를 만들어 특정 조건을 확인할 수 있다.
Kotlin 함수
Kotest 제너레이터 목록(Generators List)
Kotlin의 제너레이터의 전체 목록에 대해 소개한다.
Kotest 테스팅 스타일(Testing Styles)
Kotest에는 다양한 테스트 스타일(Testing Styles)을 제공하고 있다. 여기서는 다양한 테스트 스타일에 대해서 설명한다.
Kotlin 클래스와 객체
Kotest 단서(Clues)
Kotest에슨 단서(Clues)를 사용하면, Assertion에 대해 상세한 설명 제공할 수 있다.
Kotest 조건부 테스트(Conditional evaluation)
테스트를 비활성화하는 방법에는 여러 가지가 있다. 테스트에서 하드 코딩하거나, 런타임에 조건부로 비활성화할 수도 있다.
Kotest 예외(Exceptions)
Kotlin의 예외를 제외하는 단언문에 대해서 설명한다.
Kotest 격리 모드(Isolation Modes)
격리 모드(Isolation Modes)의 설정으로 테스트 엔진이 테스트 케이스에 대한 스펙 인스턴스를 생성하는 방법을 제어할 수 있다. 즉, 테스트 케이스마다 테스트 인스턴스를 어떻게 생성할지를 결정한다.
Kotlin 함수형 프로그래밍
Kotest 소프트 단어문(Soft Assertions)
Soft Assertions는 assertSoftly 함수를 이용하여 여러 단언문을 묶어서 수행하기 위한 용도로 사용한다.
Kotest 임베디드 Kafka 확장(EmbeddedKafkaListener)
Kotest의 EmbeddedKafkaListener는 Apache Kafka를 내장된 형태로 테스트 환경에서 사용할 수 있게 해주는 확장 기능이다.
Spring 의존 자동 주입 @Primary, @Qualifier
Kotest 인스펙터(Inspectors)
Kotest는 Matcher 외에도 Matcher와 관련된 인스펙터라는 개념을 지원한다. 인스펙터는 컬렉션 함수에 대한 확장 함수로, 주어진 단언문이 컬렉션 원소 중 어떤 그룹에 대해 성립하는지 검증할 수 있다.
Kotest 기본 확장(Extensions)
Kotest의 Extensions는 Kotest 테스트 실행 프레임워크에서 테스트 라이프사이클에 통합할 수 있는 다양한 기능을 제공하는 확장 기능이다.
Kotlin 컬렉션
Kotest 단언문 모드(Assertion Mode)
Assertion Mode는 테스트에서 Assertion이 실행을 하지 않는 테스트가 실행될 경우에 제어하는 옵션이다.
Kotest 예외 테스트(Testing Exceptions)
Kotlin 제네릭스
Spring Batch
Kotest 데이터 기반 테스트(Data-Driven Testing)
효과적인 테스트를 위해서는 테스트 데이터의 생성, 관리 및 정리가 중요한다. 이번 섹션에서는 Kotest를 사용하여 테스트 데이터를 어떻게 관리하는지에 대해 알아보겠다.
Kotlin List Distinct - 중복 요소 제거
Kotlin 고급 키워드
Kotest 비결정적 테스트(Non-deterministic Testing)
Non-deterministic Testing은 소프트웨어의 무결성을 검증하는 데 도움이 될 수 있다. 예를 들어, 병렬 프로세스, 외부 네트워크 호출, 다양한 시스템 자원에 대한 액세스 등과 같이 무작위성을 가지는 요소들을 포함하는 소프트웨어 시스템을 효과적으로 테스트할 수 있다.
Kotlin List to Set - 요소 변경
Kotest 통합(Intergrations)
Kotest와 모킹 프레임워크(mockk) 및 JaCoCo를 함께 사용하여 좀 더 견고하고 품질 높은 테스트를 작성할 수 있다. 여기에서는 테스트의 격리와 의존성 관리를 도와주는 mockk과 코드 커버리지 도구로, 코드베이스에서 얼마나 많은 부분이 테스트되었는지를 측정할 수 있는 JaCoCo에 대해서 설명한다.
Kotlin Set to List - 요소 변경
Kotest 테스트 순서 제어(Ordering)
Kotest에서의 Ordering은 테스트 실행의 순서를 제어하는 기능이다. 특정한 순서로 테스트를 실행하고 싶거나, 특정 조건에 따라 테스트를 필터링하고 실행할 때 유용하다.
Kotest 태그를 사용하여 테스트 그룹화(Grouping Tests with Tags)
효과적인 소프트웨어 테스트를 위해서는 테스트 케이스를 작성하고 관리하는 것이 중요하다. 이번 섹션에서는 Kotest를 사용하여 테스트 케이스를 작성하는 방법에 대해 알아보겠다.
Kotest 자원(Resources)
Kotest에서의 리소스 자동으로 닫도록 하는 방법과 테스트에 필요한 파일 및 디렉터리 임시 생성 방법에 대해서 설명한다.
Spring Data Neo4j - Neo4j 데이터 추가 및 조회
spring Data Neo4j는 그래프 데이터베이스 중에 하나인 neo4j에 다루는 프레임워크 이다.