나는 경험의 부족으로 그것을 잘 방어 할 수 없기 때문에이 질문에 대해 옹호하는 악마들을 플레이해야합니다. 다음은 거래입니다. 개념적으로 단위 테스트와 통합 테스트의 차이점을 알 수 있습니다. 지속성 방법과 저장소에 특히 집중할 때 단위 테스트는 Moq와 같은 프레임 워크를 통해 모의를 사용하여 검색 된 주문이 예상대로 반환되었다고 주장합니다.
다음 단위 테스트를 작성했다고 가정 해 봅시다.
[TestMethod]
public void GetOrderByIDTest()
{
//Uses Moq for dependency for getting order to make sure
//ID I set up in 'Arrange' is same one returned to test in 'Assertion'
}
따라서 설정하고 OrderIdExpected = 5
모의 객체가 5
ID로 반환 되면 테스트가 통과합니다. 알겠습니다 I의 단위 테스트 있는지 무엇을 내 코드 예비 반환 예상 객체와 ID와 다른없는 무언가를 만들기 위해 코드를.
내가 얻을 인수는 다음과 같습니다.
"단지 단위 테스트를 건너 뛰고 통합 테스트를 수행하는 이유는 무엇입니까? 데이터베이스 저장 프로 시저 와 코드를 함께 테스트하는 것이 중요합니다. 궁극적으로 데이터베이스 호출 여부를 알고 싶을 때 단위 테스트 및 통합 테스트를 수행하는 것이 너무 많은 작업 인 것 같습니다. 코드가 작동한다는 것을 알고 있습니다. 테스트는 더 오래 걸리는 것을 알고 있습니다. 그러나 테스트는 더 이상 시간이 걸리지 않고 실행 및 테스트되어야하므로 두 가지를 모두 갖는 것이 무의미 해 보입니다.
" 통합 테스트 이고 코드를 단위 테스트와 yada, yada, yada로 개별적으로 테스트해야합니다 ..." 와 같은 텍스트 정의로이를 방어 할 수 있습니다. 이것은 실무에 대한 순수한 설명입니다. 현실이 사라지고있다. 나는 때때로 이것을 겪고 궁극적으로 외부 의존성에 의존하는 단위 테스트 코드의 추론을 변호 할 수 없다면 그것을 해결할 수 없다.
이 질문에 대한 도움은 대단히 감사합니다!