# Truth 라이브러리

Java, Kotlin 생태계에는 테스트 코드 검증을 위한 많은 Assertion 라이브러리가 존재한다.

  • AssertJ
  • Truth
  • Hamcrest

이번 포스트에서는 Truth 라이브러리에 대해 정리한다.

# 의존성 설정

단위 테스트 환경에서 Truth를 사용하려면 다음 의존성을 추가해야한다.

// build.gradle
dependencies {
    // Truth
    testImplementation "com.google.truth:truth:1.1.3"
}

계측 테스트 환경에서 Truth를 사용하려면 다음 의존성을 추가해야한다.

dependencies {
    // Truth
    androidTestImplementation "androidx.test.ext:truth:1.4.0"
}

# 숫자 테스트

정수는 다음과 같이 검증한다.

import com.google.common.truth.Truth.assertThat
import org.junit.Test

class Test {

    @Test
    fun test() {
        val number: Int = 35
        assertThat(number).isEqualTo(35)
        assertThat(number).isGreaterThan(30)
        assertThat(number).isLessThan(40)
    }
}

# 문자열 테스트

import com.google.common.truth.Truth.assertThat
import org.junit.Test

class Test {

    @Test
    fun test() {
        val name: String = "Paul Smith"
        assertThat(name).isEqualTo("Paul Smith")
        assertThat(name).startsWith("Paul")
        assertThat(name).endsWith("Smith")
        assertThat(name).contains("ul")
    }
}

# Boolean 테스트

import com.google.common.truth.Truth.assertThat
import org.junit.Test

class Test {

    @Test
    fun test() {
        val isMarried: Boolean = true
        assertThat(isMarried).isTrue()
        assertThat(isMarried).isFalse()
    }
}