답변
인터페이스를 테스트하면 통합 테스트가 수행되므로 전체 스택을 효과적으로 테스트 할 수 있습니다. UI의 입력은 애플리케이션 로직에 의해 처리되고 UI 응답에 의해 "큰 그림"을 볼 수 있습니다. 즉, 애플리케이션이 예상대로 작동하는 것입니다.
대부분의 경우 UI는 사소한 변경 사항이있는 표준 프레임 워크 제공 클래스로 구성되므로 UI 프레임 워크의 기능에 의문이 있거나 직접 개발하지 않는 한 단위 테스트를 실제로 수행 할 필요가 없습니다. UI 클래스
사용자 정의 UI 클래스를 많이 사용하지 않는 경우, 다른 이유로 UI 테스트가 필요하지 않습니다. UI 클래스에는 응용 프로그램 논리가 없어야합니다.
요청하지 않으면 주어진 값을 반환하는 mock 객체를 만드는 것처럼 보입니다. 그리고 나서 값 &을 얻으십시오 (놀라움). 나는 조롱하는 프레임 워크 자체를 테스트하지 않거나 컴파일러가 당신에게 더러운 속임수를 쓰기를 기대하지 않는다면 그러한 테스트를 작성하는 것이 타당하지 않을 것이라고 말하고 싶다.
인터페이스 모의 객체를 만드는 배경은이 객체를 생성하거나 초기화해야하는 다른 객체 ("테스트중인 객체")를 테스트하는 것입니다. 모의 자체를 테스트하기위한 모의 (모의) 만들기 IMHO는 단위 테스트의 요점을 놓치고있는 것 같습니다.
그러나 인터페이스에 대한 테스트를 작성하는 것이 의미가있는 경우를 생각해 볼 수 있습니다. 테스트 목적으로 만이 아니라 단위 테스트를 작성하는 경우, 사용 방법에 대한 개요가있는 경우 인터페이스에 대한 테스트에서 IInterface
을 사용하는 방법을 보여줄 수 있습니다. 물론, 사용법이 그렇게 명확하지 않은보다 복잡한 인터페이스를 사용하는 것이 더 합리적입니다.
이것은 the Mockery TDD anti-pattern으로 알려져 있습니다.
그러나 주어진 인터페이스의 모든 구현 자에게 적용되는 테스트 집합을 작성하여 계약이 제대로 구현되었는지 확인할 수 있습니다. 예를 들어, 이것은 Grensesnitt입니다.
테스트 인터페이스가 의미가 없습니다. 모의 객체를 테스트하는 것은 모의 객체를 사용하여 추상 클래스의 구현 된 메소드 (C# 정의에서 추상)를 테스트하지 않는 한 이해가되지 않습니다.
- 1. if 문에서 무엇이 의미가 있습니까?
- 2. || . screenrc에서 의미가 있습니까?
- 3. 이 디자인이 의미가 있습니까?
- 4. "?" 검색어에 의미가 있습니까?
- 5. 통합 테스트 - "예외가 발생하지 않습니다"접근 방식. 그것은 의미가 있습니까?
- 6. java -server 플래그는 의미가 있습니까?
- 7. cmd.exe에 대한 인터페이스가 있습니까
- 8. System.IO.Stream 용 인터페이스가 있습니까?
- 9. | 5E | Common Lisp에서 의미가 있습니까?
- 10. 표에서 열의 의미가 숨겨져 있습니까?
- 11. 이 간단한 관계가 의미가 있습니까?
- 12. PHP : $ _this는 특별한 의미가 있습니까?
- 13. 언제 JavaScript === ===보다 의미가 있습니까?
- 14. MySQL에 비 텍스트 인터페이스가 있습니까?
- 15. Serializable 표준 클로저 인터페이스가 있습니까?
- 16. 응용 프로그램 전반의 예외 처리기가 의미가 있습니까?
- 17. 구문은 무엇입니까? 이 Ruby 예제에서 의미가 있습니까?
- 18. webservice - HTTP 연결 풀이 의미가 있습니까?
- 19. RabbitMQ의 콘텐츠 유형 헤더에 특별한 의미가 있습니까?
- 20. ASP.NET 4의 비동기 컨트롤러가 의미가 있습니까?
- 21. 카테고리와 화살표 사이의 유형 클래스가 의미가 있습니까?
- 22. 지도를 사용하는 것이 언제 의미가 있습니까?
- 23. 델리게이트의 접두사 @는 특별한 의미가 있습니까?
- 24. 함수를 함수에 전달하는 것이 언제 의미가 있습니까?
- 25. D2010에 대한 업데이트가 실제로 의미가 있습니까?
- 26. Rails 3.1 Asset Pipeline에는 Heroku의 의미가 있습니까?
- 27. 문자열을 압축하기 전에 압축하는 것은 의미가 있습니까?
- 28. ul에 대해 th와 동일한 의미가 있습니까?
- 29. XHTML/CSS 마크 업은 얼마나 의미가 있습니까?
- 30. 모델의 "완료"속성에 특별한 의미가 있습니까?
실제로 ... 나는 그것이 의미가 있다고 생각하지 않습니다 ... 감사합니다. – DarkVM