2012-01-05 2 views
2

비슷한 질문이 이전에 응답되었지만 문제를 해결하지 못했습니다.모범 사례 테스트 : CRUD api

작성, 읽기, 업데이트 및 삭제 메소드로 API를 테스트하고 있습니다. 각 기능을 개별적으로 테스트하는 것이 가장 좋습니다. 하지만,

테스트하려면 읽어야합니다. 읽기를 테스트하려면 작성해야합니다. 업데이트를 테스트하려면 만들고 읽어야합니다. 삭제를 테스트하려면. 나는 만들어야 해!

이 API 자체 이외의 다른 검증 (예 : 하위 계층 API) 메커니즘이 없습니다.

이 경우 모든 항목에 대해 하나의 긴 테스트를 작성해야합니까? 또는 4 가지 테스트; 각각 특별한 셋업과 티 아웃 로직이 있습니다.

감사

답변

1

이 매우 주관적이지만이

  • 가독성
  • 을 개선 가능한 오류를
  • 을 찾을 수 쉬울 유지하기 쉬울 것 같이 내가 네 가지 테스트를 작성합니다

해독도

모든 것을 테스트하면 어떻게 testmethod의 이름을 지정 하시겠습니까? 내가 쉽게 오류를 가독성이 향상된

를 찾습니다 CreateShouldCreateARecord 대신

TestCRUD의 형태로 testmethods을 읽고 찾아, 무엇이 잘못되었는지 알고 쉽다. 다시 한 가지 모 놀리 식 방법의 경우 보고서에 모두 표시되는 것은 TestCRUD 메서드가 실패하고 잘못된 구현 읽기라는 것을 알기 위해 드릴 다운해야한다는 것입니다.

+0

나는 더 많은 코드를 좋아하지 않는다. 더 복잡한 설정 * 4 및 티 다운 논리 * 4로 인해. 그러나 이것이 정확한 문제를 해결할 수있는 가격 인 것 같습니다. 예를 들어, testRead가 실패하면 설정이 실패 (예 : 쓰기 실패)했는지 또는 읽지 못했는지 확인해야합니다. –

+0

@AsadIqbal - 모든 것과 마찬가지로, 항상 트레이드 오프가 있습니다. 이 경우에는 개인적으로 선호도가 있습니다. –

+0

나는 오류를 찾는 부분에 동의하지 않을 것이다. 우리가 OP 문제에 대해 기억한다면, 테스트 CreateShouldCreateARecord가 실패하는 것을 볼 때 어떻게 알 수 있습니까? 아니면 잘못한 레코드를 작성했거나 읽기가 실패하고 잘못된 음수를 주었습니까? 결국 두 함수와 디버깅 코드를 살펴 보겠습니다. 그렇다면, 나는 더 많은 설정, 티어링 등을 작성해야하지만, 아무 것도 얻지 못합니다. –