type
status
date
slug
summary
tags
category
icon
password
클린 코드 책을 읽던 도중 BUILD-OPERATE-CHECK 이라는 것을 보고 찾게되었다.
테스트 코드 작성 시 given-when-then 을 말하는 것이었다.
주변 팀원이 테스트 코드 작성할 때 저런 주석을 달던데, 여기서 쓰는 말이었구나…
 
 
추가로 F.I.R.S.T 도 나오는데, 이 원칙을 따르면 유지보수가 쉽고 가독성이 좋은 테스트 코드를 작성할 수 있다고 하더라.
  • 빠르게(Fast): 테스트는 빠르게 실행되어야 합니다. 느린 테스트는 개발자들의 생산성을 저하시킬 수 있습니다. 따라서 테스트가 빠르게 실행되도록 해야 합니다.
  • 독립적으로(Independent): 각 테스트는 서로 독립적으로 실행될 수 있어야 합니다. 한 테스트의 실패가 다른 테스트에 영향을 주어서는 안됩니다. 이를 위해 테스트 간의 의존성을 최소화해야 합니다.
  • 반복가능하게(Repeatable): 테스트는 언제나 동일한 결과를 보장해야 합니다. 실행할 때마다 다른 결과가 나오면 테스트의 신뢰성이 떨어질 수 있습니다. 따라서 테스트를 반복 가능하게 작성해야 합니다.
  • 자가검증(Self-Validating): 테스트는 자동으로 판단할 수 있어야 합니다. 사람의 주관이 개입되지 않고 테스트 결과를 판단할 수 있어야 합니다. 이를 위해 테스트는 명확한 성공 또는 실패의 기준을 가져야 합니다.
  • 시간적 순서에 독립적으로(Timely): 테스트는 어떤 순서로 실행되어도 독립적으로 동작해야 합니다. 테스트 간의 순서에 의존성이 있는 경우 예기치 않은 결과가 발생할 수 있습니다. 따라서 테스트는 시간적 순서에 독립적으로 작성해야 합니다.
 
독립성을 띄는 부분에서 테스트의 순서 상관없이 통과해야 한다고 써져 있더라. 그래서 테스트 실행시 매번 순서가 달라진 거구나...
 
Comparable, ComparatorMap.ofEntries
Loading...