Я бы использовал функцию Spring @ Profile , которая, как я полагаю, является "функциями среды", на которые вы ссылались.
Например:
@Service @Profile("dev")
public class FakeWebService implements WebService {
}
@Service @Profile("production")
public class ExternalWebService implements WebService {
}
РЕДАКТИРОВАТЬ
И указать, какой профиль использовать в своем тесте:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("/app-config.xml")
@ActiveProfiles("dev")
public class MyAcceptanceTest {
}
См. этот раздел документов Spring для получения дополнительной информации.
Существует несколько способов установить активный профиль в рабочей среде, но метод, который я использовал ранее, находится в файле web.xml:
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>spring.profiles.active</param-name>
<param-value>production</param-value>
</init-param>
</servlet>