ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 단위 테스트 (Given, When, Then) 활용
    ios 2020. 6. 23. 20:34

    클린 코드를 읽으면서 단위 테스트의 중요한 부분을 요약해보겠습니다.

     

     

    TDD 법칙 세 가지

     

    1. 실패하는 코드를 작성하

    2. 컴파일에 통과하는 코드를 작성

    3. 실패했던 코드들을 통과할 정도로 수정하면서 실제 코드를 작성

     

     

     

    [테스트 코드를 짤 때 주의할 점]

     

    -> 테스트 코드는 실제 코드 못지 않게 중요

    -> 테스트 코드는 사고와 설계와 주의가 필요

     

     

     

    [테스트 케이스를 가지고 있을 때]

     

    -> 테스트 코드가 있으면 코드 변경에 두렵지 않을 수 있다.

    -> 유연성, 유지보수성, 재사용성을 갖는다.

    -> 변경이 쉬어진다.

     

     

     

    [깨끗한 테스트 코드를 만드려면?]  

     

    가독성, 가독성......

     

     

     

    [테스트 코드 구조]

     

    1. 테스트 자료 생성

    2. 자료를 조작

    3. 조작한 결과가 옳바른지 확인

    ps. 테스트 코드는 진짜 필요한 자료 유형 과 함수만 사용 , 누가봐도 알아볼 수 있도록!!

     

     

     

    클린 코드를 읽고난 후,  기존에  작성한 테스트 코드는 돌아가는 코드인지 확인만 하는 코드, 누가봐도 이해하기 힘든 코드였습니다. 그래서 이러한 문제점을 책에서 읽은 구조로 바꾸고자 아래의 블로그를 발견하여 제 프로젝트에 적용해보니 코드의 가독성, 재사용성 부분에서 한결 좋아진거 같습니다. 

     

     

    https://medium.com/fantageek/testing-in-swift-with-given-when-then-pattern-cd1a4e1737f9

     

    Testing in Swift with Given When Then pattern

    Spec

    medium.com

    이 블로그를 참고하여 given, when, then 패턴을 사용하여 테스트 코드를 작성하였습니다. 

     

     

     

    먼저 XCTestCase 클래스에 extension으로  given, when, then 함수를 추가하였습니다. 

     

     

    [given, when,then 함수들의 용도]

     

    1. 테스트 자료 작성 = given(desc

    2. 자료를 조작 = when

    3. 조작한 결과가 옳바른지 확인 = then 

     

     

    [given, when, then 함수의 전달인자]

     

    1. description: String   : 테스트 데이터 작성시 원하는 구문을 작성할 수 있음

    2. (throws->())   :  테스트 데이터 작성 

     

     

     

    아래는 위 블로그를 읽고 활용한 코드입니다. 잘못된 부분이 있다면 아래 댓글을 남겨주시면 갑사하겠습니다. 

     

     

     

     

     

    이상입니다. 허름한 글 읽어주셔서 감사합니다. 

    'ios' 카테고리의 다른 글

    APNs 사용법  (0) 2020.07.20
    Property with type 'Any' does not conforms with codable protocol  (0) 2020.07.13
    UICollectionView: Using Flow Layout  (0) 2020.06.21
    Label 줄바꿈 속성  (0) 2020.05.11
    [ios] Then  (1) 2020.04.17
Designed by Tistory.