2012-09-20 2 views
0

우리 응용 중 하나는 귀에 spring-mock.jar입니다. 나는 CM이고 개발자는 아니지만 제작 응용 프로그램에서 모의 ​​서비스를 원하는 것처럼 보이지 않습니다. 나는 spring-mock.jar로 테스트 할 때 특정 서비스을 모방 할 수 있다고 생각했습니다.스프링 - 모의 생산 코드

spring-mock.jar에있는 클래스에 코드 종속성은 없지만 컴파일 타임 종속성이 아닌 런타임 종속성은 항상있을 수 있습니다.

이 조직은 약 160 개의 병을 수집하여 컴파일시 클래스 패스로 모두 덤프합니다. 그들은 귀와 소리 중 하나를 다운로드 할 때 더 나은 일을하지 않습니다. 제 일은이 혼란을 없애는 것입니다. 중복 된 jar (동일한 jar 파일의 서로 다른 버전), jar는 다른 jar에서 발견되는 jarit.jar 및 귀 및 sar 파일에서 발견되는 복제 클래스를 많이 발견했습니다.

따라서 spring-mock.jar도 비슷한 문제입니까?

+0

통합 환경에서 모의 ​​파일을 가져서는 안됩니다. 통합 환경에서이 'spring-mock.jar'파일을 제거하고 나중에 어떤 결과가 발생하는지 확인하지 않으십시오. 이렇게하면 프로덕션 시스템에서 직접이 작업을 수행하지 않게됩니다. – Jagger

+0

아직 멀었습니다. 나는 청소하는 중이 야. _current_ 시스템은''과 9 개의 파일 Ant 빌드 파일을 사용합니다. 대부분의 대상은 약 10 번 공격되며, 많은 대상은 최대 14 번 호출됩니다. (그리고 그들은 왜 그렇게 오래 걸리는지 알고 싶어합니다.) 빌드 파일을 하나의'build.xml'에 병합하고,'depends' 파라미터로''을 제거하고, Ivy를 추가했습니다. Ivy가 항아리를 다운로드 했음에도 불구하고 빌드 시간은 1/5입니다. 그러나 현재 출력을 복제하여 프로세스를 _prove_해야합니다. 지금, 나는 그것을했는데, 나는 개발자들이 정리해야만하는 이슈들을 기록하고있다. –

+0

귀하의 의견을 보내 주셔서 감사합니다. 나는 당신에게 신용을 줄 것이지만, 당신은 단지 코멘트를 달았습니다. 나는 개발자들이 _att_에 대한 문제 목록을 작성하는 중이다. BTW, 통합에서 단순히 제거하고 테스트하는 문제가 있습니다. 그 항아리는 항상 필요하지 않을 수도 있습니다. 한 달에 한 번만 실행되거나 일년에 한 번만 실행되는 프로세스가있을 수 있습니다. 그것을 제거하면 프로세스가 실행될 때까지 모든 것이 잘 실행됩니다. 따라서 정크 작업을 제거하는 것이 생산 과정에서 매우 어려운 이유입니다. 필요한 것을 정확히 아는 사람은 아무도 없습니다. –

답변

0

그래, Ant 빌드 파일에 액세스 할 수 있으면 소스 코드를 탐색 할 수 있다고 가정합니다. 쉬운 일이 org.springframework.mock.*org.springframework.test.*의 사용에 대한 그 텍스트 파일에 대한 몇 가지 자동 검색 (그 내가 jar 파일에있는 패키지입니다)를 실행하는 것입니다 할이 경우

.

이렇게하면 spring-mock.jar의 콘텐츠를 얼마나 많은 곳에서 사용할 수 있는지 알 수 있습니다. 이들 모두가 test 디렉토리에 있다면, (의존성은 단위 테스트에만 해당됩니다) 그러면 안전한 측면에 있습니다. 그렇지 않으면 클래스 경로에서이 종속성을 제거하지 않을 것입니다.

+1

나는 그것을했고 Tattletale를 사용했다. 생산 코드 나 테스트 코드에서 spring-mock.jar에 대한 의존성은 없습니다. 나는 spring-mock.jar이 의존성에 있지 않고 컴파일 할 수도있다. 앞에서 말했듯이 런타임 종속성이 될 수 있습니다. 개발에 mock이 개발 환경 외부에서 사용되는 이유와 개발 환경에서 사용되는 경우에도 생산 환경에서 사용되는 귀에 포함되어야하는 이유에 대한 대답을 개발에 제공 할 것입니다. 나는 "나", "하지 않는다", "알다"의 세 단어를 포함하지 않는 대답을 원합니다. –

+0

런타임에 일부 종속성이 삽입 될 수 있다는 사실을 염두에두면 일부 사이트 (예 : 스프링 XML 파일)에 정의해야하므로 이러한 파일을 검색하는 것도 도움이 될 수 있습니다.이것이 이것이 다른 미친 방법으로 주입되지 않았는지에 대한 질문에 100 % 답변 할 수 있는지 여부는 모르겠지만이 100 %에 가깝게 접근 할 수 있습니다. – Jagger