[swift] Quick/Nimble을 사용한 REST API 테스트 작성 방법
이번 포스트에서는 Swift 언어를 사용하여 REST API 테스트를 작성하는 방법에 대해 알아보겠습니다. 이를 위해 Quick 및 Nimble이라는 두 개의 유용한 라이브러리를 사용할 것입니다. 그럼 시작해보겠습니다.
의존성 설치
우선, 프로젝트에 Quick 및 Nimble 의존성을 추가해야 합니다. CocoaPods를 사용하는 경우, Podfile에 다음과 같이 추가합니다.
target 'YourProject' do
use_frameworks!
# Quick 및 Nimble 추가
pod 'Quick'
pod 'Nimble'
end
그리고 터미널에서 다음 명령을 실행하여 의존성을 설치합니다.
$ pod install
API 테스트 작성
API 테스트를 작성하기 위해 QuickSpec
클래스를 상속받은 테스트 케이스를 작성합니다. 다음은 간단한 예시입니다.
import Quick
import Nimble
class APITestSpec: QuickSpec {
override func spec() {
describe("API 테스트") {
it("GET 요청 테스트") {
// Given
let url = URL(string: "http://example.com/api/users")!
// When
let request = try! URLRequest(url: url, method: .get)
// Then
expect(request.url).to(equal(url))
expect(request.httpMethod).to(equal("GET"))
}
it("POST 요청 테스트") {
// Given
let url = URL(string: "http://example.com/api/users")!
let parameters = ["name": "John", "age": 30]
// When
let request = try! URLRequest(url: url, method: .post, parameters: parameters)
// Then
expect(request.url).to(equal(url))
expect(request.httpMethod).to(equal("POST"))
expect(request.httpBody).toNot(beNil())
}
}
}
}
위의 예시에서는 GET 및 POST 요청에 대한 테스트를 작성하였습니다. expect
함수는 테스트 결과를 검증하기 위해 사용되며, to
및 toNot(beNil())
같은 Nimble의 다양한 매처(matcher)를 사용할 수 있습니다.
테스트 실행
테스트를 실행하려면 테스트 파일을 포함한 모든 소스 파일을 빌드해야 합니다. 이후 테스트를 실행하는 방법은 다음과 같습니다.
- Xcode에서 Command + U를 눌러 테스트를 실행합니다.
- 터미널에서 프로젝트 디렉토리로 이동한 후
xcodebuild test
명령을 실행합니다.
둘 중 어떤 방법을 선택하더라도 테스트 결과가 성공적으로 출력될 것입니다.
결론
이번 포스트에서는 Swift에서 Quick과 Nimble을 사용하여 REST API 테스트를 작성하는 방법을 알아보았습니다. Quick과 Nimble은 테스트를 작성하고 검증하는 데 사용하기 편리한 도구입니다. API 테스트를 작성하고 싶은 개발자들에게 유용한 정보가 되었기를 바랍니다.