Post

minitest 실행 시 특정 테스트만 실행하는 법

TESTOPTS 로 사용할 수 있는 다양한 인자들

minitest 를 사용한 ruby 코드 테스트 시 파일 내 특정 테스트만 실행하는 방법은 아래와 같이 TESTOPTS 환경 변수를 설정하여 필터링하는 방법이 있다. 아래 예시의 -n 옵션은 실행할 테스트의 이름을 필터링하는 데 사용되며, 정규 표현식 패턴을 사용하여 테스트를 선택할 수 있다.

1
2
# spec/models/test.rb 파일에서 테스트 이름에 foobar 가 포함된 테스트를 필터링하여 실행
bundle exec rake test TEST=spec/models/test.rb TESTOPTS="-n='/foobar/'"

그 이외에도 chatGPT 검색해보니 다양한 인자들이 있다고 해서 쓸만한걸 남겨본다.

  • -e : 테스트 설명 필터링
    • 예시) TESTOPTS="-e '/example description/'" ruby your_test_file.rb
  • --seed <number> : 랜덤 시드 값
    • --seed 를 사용하여 시드 값을 설정하고 테스트 실행 순서를 랜덤으로 지정
    • 예시) TESTOPTS="--seed 1234" ruby your_test_file.rb
  • --verbose : 상세 출력
    • 테스트 실행 중 더 많은 정보를 출력; 각 테스트에 대한 통과, 실패, 오류 정보를 자세하게 표시
    • TESTOPTS="--verbose" ruby your_test_file.rb
  • --help : 도움말 출력
    • 테스트 실행 시 사용 가능한 옵션들에 대한 도움말을 출력
    • TESTOPTS="--help" ruby your_test_file.rb

This post is licensed under CC BY 4.0 by the author.