
100
1
부
도메인 모델링을 지원하는 아키텍처 구축
4.2
첫 번째 엔드투엔드 테스트
아무도 엔드투엔드
end
-
to
-
end
(
E2E
) 테스트, 기능 테스트, 인수 테스트, 통합 테스트 간의 차이
가 무엇인지 포함한 용어에 대한 긴 논쟁을 보고싶지 않을 것이다. 프로젝트에 따라 서로 다른
테스트 조합이 필요하다. 테스트를 완벽하게 성공하려면 ‘빠른 테스트’와 ‘느린 테스트’로 나눠
야 한다.
지금은 ‘실제’
API
엔드포인트(
HTTP
를 사용)와 실제 데이터베이스를 사용하는 테스트를 한,
두 개 작성할 것이다. 이를
엔드투엔드 테스트
라고 부른다. 엔드투엔드라는 이름만으로 무슨 테
스트인지 (데이터베이스라는 한쪽 끝부터
API
를 사용하는 쪽인 반대쪽 끝까지에 대한 테스트 )
충분히 알 수 있다.
첫 번째
API
테스트(
test
_
api
.
py
)
@pytest.mark.usefixtures(‘restart_api’)
def test_api_returns_allocation(add_stock):
sku, othersku = random_sku(), random_sku(‘other’) # ①
earlybatch = random_batchref(1)
laterbatch = random_batchref(2)
otherbatch = random_batchref(3)
add_stock([ ...