생각보다 길어진 웹 작업이 끝나고, 다시 Xcode로 돌아올 시간!
구현은 다 했는데 아직 앱 테스트가 남아있었다.
이번 업데이트는 비동기 작업이 많았는데 비동기 테스트는 또 어떻게 해야하는지 몰라서 뒷전으로 미뤄두었다가
테스트 -> 구현이 아닌 선 구현 후 테스트를 진행하게 됐다.... :(
사실 아직 테스트 코드를 많이 작성해보지 않아서 XCTAssertEqual
도 낯설지만... 차근차근 공부한다는 마음으로!
우선, 비동기 작업이 필요 없었던 기존 테스트 코드를 살펴보자.
XCTAssertEqual(expression1, expression2)
expression1 == expression2
이면 test pass, 아니면 failedfunc testURLs() {
let base = URLService.base
XCTAssertEqual(base, "https://www.naver.com")
let update = URLService.updateStatusURL
XCTAssertEqual(update, "https://www.naver.com/update")
}
XCTAssert
와 XCTAssertTrue
는 동일한 기능. expression == false
일 때 failure.XCTAssertFalse
는 반대로 expression == true
일 때 failure.func testStayTimeWhenSessionEnd() {
let session = eventTrackingManager.getEqualSesssion(type: .login)
if session.stayTime == nil {
//failed message: "failed - stayTime calculate fail"
XCTFail("stayTime calculate fail")
} else {
// expression가 true이기 때문에 항상 pass
XCTAssert(true, "it's true!")
}
}
expectation
을 만든 후 비동기 작업이 성공적으로 완료되면 expectation
을 fullfill()
되도록 테스트를 작성합니다.: 이건 다음에 포스팅 해보는 걸로!
Basic이라고 생각하는 것만 적었는데 1시간이 훌쩍 지나버림.. ^^....
글 쓰면서 내가 대충 그러겠지 하고 쓴 코드들이 맞는지
다시 애플 문서 보고 테스트 돌려보고 하다보니 오래걸렸다.
정작 코드 칠때는 대충 공부하다가 정리해서 글 쓰려고 하니 이제서야 제대로 공부하는 건 무엇???
그래도 이렇게라도 다시 한 번 제대로 알고 갑니다!!