티스토리 뷰

역시나 모든 언어들도 각자 자신들 만의 테스트 도구를 사용하여 개발을 하고 있는데 저만 모르고 살았었네요.. 

자바

Junit & Jacoco

가장 널리 알려진 테스트 도구입니다. 

Jacoco의 경우 코드 커버리지를 측정하는 도구이며, 수많은 레퍼런스들이 넘쳐나고 있습니다. 

 

https://ko.wikipedia.org/wiki/JUnit

 

JUnit - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. JUnit(제이유닛)은 자바 프로그래밍 언어용 유닛 테스트 프레임워크이다. JUnit은 테스트 주도 개발 면에서 중요하며 SUnit과 함께 시작된 XUnit이라는 이름의 유닛

ko.wikipedia.org

https://namu.wiki/w/JaCoCo

 

JaCoCo - 나무위키

이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권

namu.wiki

 

build.gradle 에 아래와 같이 세팅한다. 

plugins {
	...
    id 'jacoco'
}

... 

test {
	finalizedBy jacocoTestCoverageVerification
}

jacocoTestReport {
	dependsOn test
}

jacocoTestCoverageVerification {
	dependsOn jacocoTestReport

	violationRules {
		rule {
			limit {
				minimum = 0.95
			}
		}
	}
}

Python

pytest & pytest-cov

 

Junit 과 마찬가지로 테스트 수행을 위한 패키지이며, pytest-cov 역시 코드 커버리지를 측정하는 도구이다.

 

https://docs.pytest.org/en/7.4.x/

 

pytest: helps you write better programs — pytest documentation

pytest: helps you write better programs The pytest framework makes it easy to write small, readable tests, and can scale to support complex functional testing for applications and libraries. pytest requires: Python 3.7+ or PyPy3. PyPI package name: pytest

docs.pytest.org

 

아래와 같이 설치 후 사용이 가능하며 아래와 같이 설치 후 실행 명령어를 써서 테스트를 수행한다.

# 설치
$ pip install pytest
$ pip install pytest-cov

# 수행
$ PYTHONPATH=$(pwd)/src/ticker pytest --cov-report html \
--cov src/ticker --cov-fail-under=90 # 테스트 커버리지 최소

 

 

JavaScript

Jest

javascript 의 경우 Jest 를 이용해서 테스트할 수 있다. 코드 커버리지도 포함되어 있음

 

https://jestjs.io/

 

Jest

By ensuring your tests have unique global state, Jest can reliably run tests in parallel. To make things quick, Jest runs previously failed tests first and re-organizes runs based on how long test files take.

jestjs.io

루트 폴더에 jest.config.js 파일을 생성 후 다음과 같이 작성한다. 

const config = {
    collectCoverage: true,
    coverageReporters: ['json', 'html'],    
    coverageThreshold: {
      global: {
        lines: 90
      },
    },
  };
  
  module.exports = config;

 

package.json 에 테스트 설정 및 라이브러리 사용 등록

{
	"script": {
	    ...
    	"test": "jest --coverage=true"
    }
},
"dependencies": {
	...
	"jest": "^29.7.0"
    	...
}

 

테스트 수행

$ yarn test

 

끝!!

'Study > ' 카테고리의 다른 글

이클립스 메소드 파라미터 추출 기능 (Introduce Parameter)  (0) 2020.04.03
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함