[swift] Quick/Nimble의 커스텀 테스트 어설션 작성 방법

이 문서에서는 Swift 언어로 작성된 Quick/Nimble를 사용하여 커스텀 테스트 어설션을 작성하는 방법에 대해 알아보겠습니다.

1. Quick/Nimble 개요

Quick은 Swift를 위한 BDD(Behaviour-Driven Development) 테스팅 프레임워크이며, Nimble은 Quick과 함께 사용되는 매치어(matcher) 라이브러리입니다. Quick과 Nimble을 함께 사용하면 테스트를 더 읽기 쉽고 유지보수하기 쉽게 작성할 수 있습니다.

2. 커스텀 테스트 어설션 작성하기

커스텀 테스트 어설션은 Quick/Nimble을 사용하여 테스트 중에 원하는 조건을 확인하는 데 사용됩니다. 다음은 커스텀 테스트 어설션을 작성하는 단계입니다.

  1. Nimble의 Matcher 프로토콜을 준수하는 커스텀 어설션을 작성합니다.
    import Nimble
    
    public func bePositive() -> Predicate<Int> {
        return Predicate.define { actualExpression in
            let message = ExpectationMessage.expectedActualValueTo("be positive")
            let pass = actualExpression.evaluate()?.isPositive ?? false
            return PredicateResult(status: pass, message: message)
        }
    }
    

    위의 예에서는 bePositive()라는 커스텀 어설션을 정의하고 있습니다. 이 어설션은 Int 타입의 값이 양수인지 확인합니다.

  2. 작성한 커스텀 어설션을 사용하여 테스트를 작성합니다.
    describe("Number") {
        it("should be positive") {
            let number = 5
            expect(number).to(bePositive())
        }
    }
    

    위의 예에서는 Number라는 테스트 그룹에서 should be positive라는 테스트를 작성하고 있습니다. expect(number).to(bePositive())를 사용하여 number가 양수인지 확인합니다.

  3. 커스텀 어설션을 실행하여 테스트를 확인합니다.

이렇게 작성한 커스텀 테스트 어설션은 테스트를 보다 읽기 쉽고 유지보수하기 쉽게 만들어 줍니다.

3. 결론

이 문서에서는 Swift 언어로 작성된 Quick/Nimble을 사용하여 커스텀 테스트 어설션을 작성하는 방법에 대해 알아보았습니다. 커스텀 어설션은 테스트 중에 원하는 조건을 확인하는 데 사용되며, Quick/Nimble을 사용하면 테스트를 더 간결하고 읽기 쉽게 작성할 수 있습니다.

4. 참고 자료