이번 포스팅에서는 Intellij에서 infinitest
를 사용하는 법에 대해 알아보도록 하겠습니다.
사실 위의 링크를 따라 가신다면, Infinitest의 문서가 있어, Eclipse, Intellij
각각의 IDE에서 설정하는방법에 대해 친절히 나와있지만, 그 글마저 읽기 귀찮은분들을 위해 나름대로 간단히 설명드리도록 하겠습니다.
1. Infinitest란 ?
infinitest
란 Test코드 작성시, background에서 Infinitest가 대기하고 있다가, Test코드를 자동으로 실행해주는 플러그인입니다. 위의 링크를 따라보면, hot
한 개발방식인 tdd
를 좋아한다면, Infinitest
도 좋아하게 될것이라고 나와있군요.
2. Intellij에서 Infinitest 설정
2.1 Infinitest Plugins 설치
우선 Intellij에서 Shift 두번
을 눌러 Search Everywhere
를 엽니다. 그 후 Actions 탭의 Plugins
를 클릭합니다.
infinitest를 검색한 뒤, Search in repositories를 클릭합니다. 그 후 나타나는 infinitest
모듈을 클릭한 뒤 Install을 합니다. 그 후 intellij를 재시작
합니다.
2.2 Compiler Build project automatically 설정
코드 수정시, 모듈이 이를 관찰하고, 테스트를 실행하기 위해서는 Compiler의 Build project automatically
설정을 해주어야 합니다. File - Settings
를 클릭하여 settings창을 엽니다.
그 후, compiler찾아 선택한 뒤 Build project automatically
를 체크합니다.
2.3 Module 추가
모듈추가를 위해 File - Project Structure
를 엽니다.
Modules를 선택한뒤, test
코드가 포함되는 디렉토리를 선택합니다. 그 후 +
아이콘을 클릭합니다.
그 후, 나타나는 모듈들의 목록중, Infinitest
를 선택하여 추가합니다.
추가된 것을 확인할 수 있습니다.
3. Test 코드 작성
3.1 Junit 라이브러리 추가
Infinitest는 기본적으로 Junit
과 TestNG
의 테스트 코드를 자동으로 실행해줍니다. 저는 Junit
을 사용할 것입니다.
xxxxxxxxxx
testImplementation 'org.springframework.boot:spring-boot-starter-test'
spring boot, gradle 프로젝트의 경우 build.gradle
파일의 dependencies
블록안에 위의 코드를 추가합니다.
3.2 Test 대상 클래스 생성
Test 클래스들이 위치하는 디렉토리 경로(src-test-java-프로젝트경로
)에 테스트클래스를 생성합니다.
package com.example.jpatest;
public class Calculator {
public int add(int num1, int num2) {
return num1 + num2;
}
}
테스트 대상 클래스인 Calculator를 생성한 뒤, 간단한 메소드를 추가해줍니다.
3.3 Test 클래스 생성
package com.example.jpatest;
import org.junit.Before;
import org.junit.Test;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;
public class CalculatorTest {
private Calculator calculator;
public void setUp() {
calculator = new Calculator();
}
public void test_2와_2를더하면_4를반환() {
assertThat(calculator.add(2,2), equalTo(4));
}
}
위 와 같이 테스트코드를 작성합니다. assertThat의 경우에는 가독성이 보다 더 좋은 hamcrest
것을 사용했습니다.
잠시 후, 하단의 Infinitest
모양의 아이콘을 클릭해보면, Test가 통과했다고 나타납니다.
public void test_2와_2를더하면_4를반환() {
assertThat(calculator.add(2,1), equalTo(4));
}
위와 같이 2
를 1
로 바꾸어, 고의적으로 에러를 만듭니다.
잠시 후, 하단을 확인하면, 1개의 테스트가 실패되었다고 나타나며, 실패한 코드에는 Infinitest
아이콘이 표시됩니다.
'Test' 카테고리의 다른 글
Test - Test 코드를 작성해야하는 이유와, 방법 (2) | 2020.11.06 |
---|---|
Test - TDD(테스트 주도 개발방법론)이란? (0) | 2019.03.03 |
Test - Junit이란? (0) | 2019.03.03 |