5

나는 최근에 J.B. Rainsberger가 Integration Tests are a Scam을 지켜 보았고 이제 주제에 대한 더 많은 자료를 찾고 있습니다. 우리가 얼마나 잘못했는지 (단위 테스트를 할 때 통합 테스트), 레인즈 버거 (Rainsberger)가 설명하는 개념에 흥미를 느끼지 만 적용 방법에 대해 혼란스러워하는 것에 대해서도 나는 놀랐다. 설명 된 공동 작업 테스트 및 계약 테스트을 더 갖고 싶습니다.하지만 어디서부터 시작해야할지 모르겠습니다."통합 테스트 사기"제거 - 공동 작업 및 계약 테스트 이해

사이드 A : :

Do I ask the right question? 
Can I deal with the answer? 

사이드 B :

Can I answer a question? 
Do I answer correctly? 
내 마음에 붙어있어

유일한 일들이 테스트를 요청해야 4 개 질문입니다

하지만이 방법을 응용 프로그램 스택의 임의의 방법에 어떻게 적용합니까?

현실적인 예를 들고 고립 된 마이크로 테스트의 이러한 아이디어를 적용하는 책이나 설명서 또는 예제가 있습니까? 이 예제에서는 Java, C# 또는 C++를 사용하는 것이 가장 이상적입니다.

일반적으로 이러한 개념을 다루고 내가 더 잘 이해할 수있는 문헌은 인정 될 것입니다.

또한 포럼이있는 경우 정확한 단위 테스트를 수행하고 기존 코드를 리팩터링하고 예제를 게시하는 방법에 대한보다 자세한 질문을 할 수 있습니다.

감사합니다.

+2

를 사용하는 것에 동의 쌍방의 OO 패턴있는 좋은 예제가 실려있다. 범위를 좁힐 수 있습니다. 그리고 아마 (다른 사람들이 이것을 더 잘 판단 할 수있을지라도) 이것은 프로그래머 SE에게 더 적합 할 것입니다. – Bart

+0

네 말이 맞아.필자는 정보 자원에 관한 질문으로 제한하고 프로그래머 섹션에 세부 사항을 게시했습니다. – Pete

+0

프로그래머 SE 참으로 –

답변

3

질문에 대한 통찰력과 개별 방법 수준에서 테스트 할 때 다양한 방법의 좋고 나쁨에 대한 많은 세부 정보를 제공하는 xUnitTestPatterns - Refactoring Test Code by Gerald Meszaros을 권장합니다.

Fowler의 리팩터링을 읽은 경우 질문에 대한 대답이 반드시 흑백 일 필요는 없지만 다른 사람 경험의 경험적 방법을 기반으로합니다.

+0

팁 주셔서 감사. 저는 프로그래머 SE에서 똑같은 결과를 얻었으므로 주문하는 것에 대해 좋은 생각을 가지고 있습니다. 파울러는 최근에 많이 들었던 이름입니다 ("테스트를 통해 성장하는 객체 지향 소프트웨어 성장"을 읽으십시오). 어쩌면 나는 그것을 얻어야 할 것이다. – Pete

1

Rainsberger 코드

DBC는 모두 A와 B 당사자 이외의 책임과 혜택을 공식화에 초점을 맞추고에서 궁극적 인 100 % 품질 (기본 정확성을)에 도달 자신의 점을 증명하기 위해, 통합 테스트가 얼마나 비효율적 인 이상 - 과장. 인터페이스 확장과 같습니다. 그래서 주요 초점은 계약 자체가됩니다. 중간에있는 계층은 양 당사자가 서로 상호 작용할 수 있는지 알려줍니다.

레인즈 버거 (Rainsberger)는 지금까지 명백한 도서관이나 언어 지원이 없으며 같은 것을 묻기 위해 모의 자국과 B 입력을 모두 달성했다고 말하면서 그것이 누군가를위한 PhD 일이 될 수 있음을 암시합니다.

그러나 짐 웨이 리치는 계약을 테스트하고 그것을 하나 개의 이동에 질문을 많이의 지옥처럼 보인다 https://www.youtube.com/watch?v=7Yw744FMqTY