[XCTest] Quick 과 Nimble에 대해서 알아보자.
Quick / Nimble
✅ Quick / Nimble에 대해서 알아보자.
이번에 XCTest를 공부하다가 Quick과 Nimble이라는게 있어서 한번 다시 공부해보도록 하자.
https://github.com/Quick/Nimble
https://github.com/Quick/Quick/tree/main/Documentation/ko-kr
✅ 기존에 XCTest를 작성하면서 BDD로 작성했다. BDD로 작성하다 보니까 중복되는 코드 부분이 많이 생겼어서 나는 이걸 함수로 만들어서 사용할 수 있게 설계해서 사용했었는데, 위에 것들을 한번 보도록 하자~!
✅ Quick
이름부터가 뭔가 퀵??이라서 빠르게 해줄거 같아서 인상적이다. Quick은 BDD를 기반으로 설계되어 있다.
대충 이렇게 된다.
그렇다면 Quick을 사용하면 어떻게 될까?
Spec자체가 테스트 케이스가 된다.
QuickSpec이 XCTestCase의 Subclass이므로 가능한 일!!
아까 Quick은 BDD에 맞게 나뉜다고 했지?
- Given 👉 Describe
- When 👉 Context
- It 👉 Then
✅ Quick로 작성한 예시
override func spec() {
describe("BDD로 따지면 Given") {
context("BDD로 따지면 When.") {
it("BDD로 따지면 Then") {
// Assertion 코드를 작성합니다.
}
}
}
}
실행하면 아래 사진처럼 나옵니다~!
✅ Nimble
Quick 좋다! 그럼 Nimble을 이용해서 더 좋게 만들어보자.
아 Nimble이란 XCTest의 assertion의 단점을 보완한 Assertion(Matcher) 프레임워크라고 한다.
아무튼 간단하고 직관적으로 보여서 편해편해
(참고)
https://zeddios.tistory.com/1245