-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test: 업로드 VIP 테스트 코드 작성 #326
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생하셨습니다~~
iOS/Layover/Layover/Services/Location/CurrentLocationManager.swift
Outdated
Show resolved
Hide resolved
iOS/Layover/Layover/Services/Location/CurrentLocationManager.swift
Outdated
Show resolved
Hide resolved
init(provider: ProviderType) { | ||
self.provider = provider | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
따로 MockSession을 디폴트 이니셜로 안 넣은 이유가 있나요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
딱히 이유는 없고 테스트할 때 넣어줘야지 하고 만들었는데, MockWorker라서 디폴트 인자로 넣어줘도 될 것 같습니다 ㅎㅎ
iOS/Layover/LayoverTests/Scenes/UploadPost/UploadPostInteractorTests.swift
Show resolved
Hide resolved
iOS/Layover/LayoverTests/Scenes/UploadPost/UploadPostInteractorTests.swift
Outdated
Show resolved
Hide resolved
iOS/Layover/LayoverTests/Scenes/UploadPost/UploadPostWorkerTests.swift
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생하셨습니다. Task블록 메서드를 async 메서드로 고쳐주시기만 하면 될 것 같아요~!
🧑🚀 PR 요약
해당 pr에서 작업한 내역을 적어주세요.
드디어 업로드 테스트 끝 .. 약간 정신을 놓고 짠 부분도 있어서 코멘트 많이 부탁드림니다..
업로드를 테스트하면서 사용자가 위치 권한을 거절한다던가 하는 부분을 어떻게 테스트할 수 있을까 곰곰이 생각하다가
wwdc18에 Testing Tips & Tricks 이런 세션이 있더라고요
대충 제게 필요했던 부분만 발췌해 들었는데 프로토콜을 통해서
locationmanager
의존성을 분리해서 테스트하는 방법이었습니다그래서 세션을 참고해서 CLLocatoinManager의 의존성을 분리했습니다.
이제 입맛대로 값을 전해줘서 테스트를 할 수 있는데요. 그렇게 하려면 LocationManager를 따로 분리해서 테스트를 해야 할 거 같더라고요.. 지금 구조상 interactor 테스트에서 구체적인 값을 줘서 확인할 수 있는 구조는 아니긴 합니다..
지금은 그냥 MockLocatoinFetcher 만들어서 주입해두고 startUpdatingLocation 메소드 호출시 location 프로퍼티에 저장만 하게 구현되어 있습니다
📸 ScreenShot
작동, 구현화면
Linked Issue
close #292