위키득계정 ↗
기술

Expecto

Expecto기술
분야
테스트 프레임워크
중심 언어
F#
구성 단위
조합 가능한 테스트 값
실행 특징
병렬 실행 기본
Expecto는 테스트를 조합 가능한 값으로 표현하는 F# 테스트 라이브러리다. 실행기를 포함하며 비동기 검사와 병렬 실행, 속성 기반 검사 연동을 하나의 테스트 구성 안에서 다룬다.

테스트도 값으로 다루기

Expecto에서는 테스트를 만들고 목록으로 묶거나 함수에 전달할 수 있다. 검사 구성을 일반적인 코드처럼 조합하므로 반복되는 준비 과정도 함수로 정리할 수 있다. 테스트를 찾는 방식과 실행할 목록을 직접 넘기는 방식은 프로젝트 구성에 맞게 선택한다.

실행 방식과 격리

동기 검사와 비동기 검사를 함께 구성할 수 있고 병렬 실행이 기본이다. 공유 자원을 수정하는 검사는 서로 영향을 줄 수 있으므로 독립적인 데이터를 쓰거나 순차 실행 범위를 지정한다. 실행 순서를 바꿔 숨어 있는 의존을 찾는 기능과 특정 시간 동안 반복하는 스트레스 검사도 제공한다.

연동과 검사 범위

FsCheck를 연결하면 생성 입력을 사용하는 속성 기반 검사를 작성할 수 있다. 성능 비교와 BenchmarkDotNet 연동도 있지만 병렬 부하가 측정값을 왜곡하지 않도록 실행 구성을 조절한다. 일부 검사만 집중 실행하는 설정을 개발 후 남기면 전체 검사가 빠질 수 있어 빌드에서 이를 감지하도록 구성할 수 있다.

관련 문서

FsCheck / BenchmarkDotNet / Unquote / NUnit