문제

내가 하려고 했는데를 밀어 내 mentallity 을 개발할 때 집에서 설치된 쪽으로 더 TDD 트 DDD.

하나는 일은 내가 이해하지 못하지만 당신들은 가짜 저장소 테스트에 대해?난 정말 그것으로 얼마나 확실히 시험이 도움이 코드를 분리(에게 좀 더 flexability),트림는 데 필요한 코드는 아래로 가져올 수 있습니다.

그래서 수 있는 누군가에 입력 내 어리석은 두뇌는 이유와 같은 일부를 테스트하는 가짜 저장소?내가 생각했을 것입 테스트에 대한 실제 데이터베이스는 훨씬 더 나은 대안을 만드는 가짜 다음 때문에 일하는 것에 대하여 실제 데이터 저장소입니다.

도움이 되었습니까?

해결책

가짜 저장소를 사용하면 응용 프로그램 코드 만 테스트 할 수 있습니다.

가짜 저장소는 자동화 된 테스트가 저장소에서 알려진 상태를 쉽게 설정할 수 있음을 의미합니다.

가짜 저장소는 실제 데이터베이스보다 몇 배 더 빠릅니다.

가짜 저장소는 데이터베이스를 포함 할 시스템 테스트를 대체하지 않습니다.

다른 팁

그것을 보고 두 가지 정말 큰 이유는 당신 테스트에 대한 위장한 리소스:

  • 그것은 유닛 테스트 빠르 이 있을 때 조롱에 대한 느린 I/O 또는 데이터베이스에 있습니다.이처럼되지 않을 수도 있습니다면 당신은 아무것도가 작은 테스트하지만 당신이 때까+500 단위의 테스트는 그것을 만들기 위해 시작 차이가 있습니다.에서 같은 금액을,테스트에 대해 실행되는 데이터베이스를 시작하는 몇 초가 걸릴하는 않습니다.프로그래머들은 게으른 것을 원하고 빠르게 이동하는 경우 그래서 실행하는 테스트 스위트 10 초 이상 걸릴 그럼 당신은 행복하지 않을 것을 TDD 더 이상입니다.
  • 그 적용에 대해 생각하는 당신의 코드의 디자인을 변경 쉽습니다.디자인 계약에 의해하고 주입에 의존도가 너무 쉽게 하는 경우에 당신이 만든 구현에 대해 인터페이스 또는 추상 클래스입니다.는 경우 이러한 디자인 보다 쉽게 준수 변화에 귀하의 코드입니다.

유일한 단점은 명백하나:

  • 어떻게 확신할 수 있습니다 정말로 작동합니까?

...그리고 무엇 통합 테스트 을 수 있습니다.

나는 기린의 대답을 발언했지만 몇 가지 점을 추가하고 싶습니다.

  • 각 개발자는 동일한 프로젝트의 다른 개발자가 수행 한 테스트를 방해하지 않고 자신의 단위 테스트를 위해 모의/가짜 저장소를 사용할 수 있습니다.

  • 로컬 모의/가짜 저장소를 사용하면 데이터 추상화 계층의 사용자를 강화합니다.

예를 들어, 나는 단순한 것을 사용했습니다. HashMap 데이터 액세스 계층의 모의를 구현합니다. 이것은 그것을 만듭니다 극도로 각 단위 테스트가 쉽게 목적을 위해 필요한 조건이 존재하는지 확인하고 데이터 액세스 계층에서 올바른 호출이 이루어 졌는지 확인합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top