2012-12-19 4 views
2

나는 roboguice로 의존성 삽입을 사용하기 시작했고 DataProvider와 같은 인터페이스를 만들었다. WebServerDataProvider 클래스에있는 일부 WebServer에서 데이터를 검색하는 구현이 있습니다. 위해서는 웹 서버에 대한 기다림을 제거하기 위해 나는 DummyDataProvider를 추가했습니다.개발에만 사용되는 클래스는 어디에 두어야합니까?

그런 클래스는 어디에 두겠습니까? 나는 그것이/src/main/java/my/package/providers /에 있기를 좋아하지 않는다. 응용 프로그램의 진짜 부분이 아니기 때문에 여전히 개발을 위해 필요하다.

+0

아마도 앱 코드에서 직접 사용하는 대신 단위 테스트 및 테스트 사례 (예 : Android 테스트 프로젝트)를 작성하는 것이 좋습니다. – yorkw

답변

1

일반적으로 단위 테스트에서는 이러한 클래스를 사용합니다. Roboguice는 Robolectric에서 잘 작동합니다. Robolectric을 사용하면 http 액세스와 같은 것을 조롱 할 수 있습니다. 그렇게하면 src/test/java /에 코드를 넣을 수 있습니다 ...

+0

hmpf, IDE에서 시작할 때 간단한 응용 프로그램 시작을 위해 src/test/java가 클래스 경로에 있다는 것을 놓쳤습니다. 이 경우에는 이러한 클래스가 있어야한다는 것이 확실합니다. –

+0

그럼 내 대답은 정확하고 받아 들여야합니다. –

0

매번 서버를 신경 쓸 필요없이 응용 프로그램을 사용하기 위해 기본 프로젝트에 넣을 수 있습니다. 배포를 위해 상수로 비활성화합니다 (예 : 당신이 (당신이 설정으로 주변에 바이올린해야 할 수도 있습니다) 당신의 변수를 재설정 기억한다면 Proguard와이되지 않는 클래스를 제거 할만큼 똑똑해야

if (DEBUG) { 
    setDataProvider(new MockDataProvider()); 
} 

.

관련 문제