Java 기초 - assertThat(actual).isEqualTo(expected);

김성태·2023년 2월 23일
0

*TDD방법론(Test Drive Development)
: 테스트 주도 개발

을 해보기 위해 아래와 같이 구성할 수 있다.

우선 아래 'build.gradle'에 필요한 재료를 가져온다.

#build.gradle

plugins {
    id 'java'
}

group 'org.example'
version '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}

dependencies {
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'

    testImplementation 'org.assertj:assertj-core:3.11.1'
}

test {
    useJUnitPlatform()
}

아래 위치의 코드에 대한 Test Case를 만들기 위해서는

#Solution 소스코드

package com.ll.level0.p120829;

public class Solution {
    public double solution(int angle) {
        if(angle == 180) return 4;
        else if(angle > 90) return 3;
        else if(angle == 90) return 2;
        return 1;
    }

}

아래 위치에서 동일한 경로에 테스트 케이스를 만들어 준다.

#Test Case 소스코드

package com.ll.level0.p120829;

import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;

import static org.assertj.core.api.AssertionsForClassTypes.assertThat;


public class Tests {

    @Test
    @DisplayName("70 입력시 1 반환 ")

    void t1(){
        assertThat(new Solution().solution(70)).isEqualTo(1);
    }

    @Test
    @DisplayName("91 입력시 3 반환")
    void t2(){
        assertThat(new Solution().solution(91)).isEqualTo(3);
    }

    @Test
    @DisplayName("180 입력시 4 반환")
    void t3(){
        assertThat(new Solution().solution(180)).isEqualTo(4);
    }

    @Test
    @DisplayName("90 입력시 2 반환")
    void t4(){
        assertThat(new Solution().solution(90)).isEqualTo(2);
    }
}

아래와 같은 이미지와 같이 '전체케이스/특정케이스'에 대한 결과값을 얻을 수 있다.

profile
오늘도 화이팅!

0개의 댓글

관련 채용 정보