iOS UnitTest 근데 viewModel을 곁들인.

ChangJin·2023년 7월 19일
0

iOS

목록 보기
4/6

📌 들어가기전에...

iOS에서 Unit Test를 작성하는 방법은 저번에 알아보았어요.
다음의 글을 참고하면 좋아요.
https://velog.io/@whoamicj/iOS-Unit-test

📖 Unit Test를 viewModel에서 가져와서 사용하기

viewModel는 비즈니스 로직이 들어가요. Published는 wrapper가 붙은 변수의 값이 바뀔 때, 데이터가 변경되었음을 View에게 알려요. 즉 view에서는 변화가 있을 때만 화면이 변화해 요.때문에 viewModel을 사용하는게 테스트하기 더 좋은 상황이 있을 수도 있어요.

  • KRW 1만원을 USD 달러로 변환하는 간단한 뷰를 만들었어요.

  • input으로 10000을 주었을 때 output으로 $7.90 이 나오는지를 판단해야해요.

    ✍ 입력

    	10000

    💻 출력

    	$7.90
  • 이전 글에서는 struct안에 정의된 함수를 불러와서 테스팅하는 방법이었어요.
  • 이번엔 viewModel을 가져와 테스팅을 진행했어요.
import XCTest


final class ConvertersTests: XCTestCase {

    func test_convert10000_returns79() {
        // MARK 1: Given (Arrange)
        // sut: system under testing
        let sut = Converters()

        // MARK 2: When (Act)
        let actual = sut.convertKRWToUSD(KRW: "10000")
        let expected = "$7.90"

        // MARK 3: Then (Assert)
        XCTAssertEqual(actual, expected)
    }

}
  • 테스트에 성공했어요.

참고자료


https://github.com/ChangJin-Lee/Swift-UnitTesting
https://www.youtube.com/watch?v=vfCm6zCHv44

profile
게임 프로그래머

2개의 댓글

comment-user-thumbnail
2023년 7월 19일

항상 좋은 글 감사합니다.

1개의 답글