동료들에게 단위 테스트 (및 일반적인 테스트) 개념을 소개하고 싶습니다. 지금은 전혀 테스트가 없으며 실제로 UI를 통해 작업을 수행하여 원하는 결과를 확인하여 테스트합니다. 당신이 상상할 수 있듯이, 코드는 정확한 구현과 매우 밀접하게 연결되어 있습니다. 심지어 클래스에 있어야하고 시스템 전체에서 재사용되어 코드를 메소드에 복사하여 붙여 넣을 수 있습니다.
변경된 요구 사항으로 인해 이전에 작성한 모듈을 수정하라는 요청을 받았으며 상당히 느슨하게 결합되었습니다 (원하는 만큼은 아니지만 다른 많은 개념을 도입하지 않고도 얻을 수있는 최선의 방법). 나는 예상대로 작동하고 테스트가 어떻게 작동하는지 보여주는 "증명"하기 위해 수정 된 코드와 함께 단위 테스트 스위트를 포함하기로 결정했다. 일부 코드가 이미 작성되었으므로 실제 TDD를 따르지 않지만 새로운 코드를 작성하기 위해 TDD 개념을 따르기를 바랍니다.
필자는 필자가 상호 작용할 부분이 이미 시스템에 존재하기 때문에 코드를 작성하는 데 하루나 이틀 이상 걸리는 이유를 물을 것입니다. 코드를 확인하면이 "Tests"프로젝트가 무엇인지 물어볼 것입니다. 테스트의 기본 사항을 설명 할 수는 있지만 다른 사용자가 이해할 수있는 방식으로 실제 이점을 설명 할 수는 없습니다 (테스트에서 앱을 직접 실행해야한다고 생각하기 때문에 실제 UI가이 기능의 작동 여부를 결정하는 데 중요한 경우가 종종 있기 때문에) "아니요). 그들은 느슨한 결합의 개념을 이해하지 못합니다 (아무것도 느슨하게 결합되어 있다는 사실에 분명히 분명합니다. 내가 작성한 코드 외부에는 인터페이스조차 없습니다), 그래서 그것을 이익으로 사용하려고하면 아마 "어?" 몇 가지 기존 모듈을 재 작업하지 않고 원하는만큼 느슨 할 수 없으며 아마도 "프로그래밍"이 아닌 시간 낭비로 볼 수있는 일종의 IoC 컨테이너를 소개 할 것입니다.
누구든지이 코드를 가리키고 "우리는 단위 테스트 작성을 시작해야합니다"라고 말하는 방법에 대한 제안이 있습니까? 내 것이 나쁘지 않다 ) 또는 실제 가치를 추가하지 않는 시간 낭비처럼 보이게하지 않으면?