Выполнение теста компонента с testNG Мне нужно смоделировать сервис, который получает некоторые внешние данные.
Для этого я настраиваю макет в файле spring-test-config.xml следующим образом:
<beans xmlns=...>
<context:component-scan base-package="..." />
<bean id="dataRetrieverBean" class="org.my.project.DataRetrieverBeanMock" scope="prototype"/>
</beans>
И затем я ссылаюсь на этот файл конфигурации в моем тестовом классе следующим образом:
@Test()
@ContextConfiguration(locations = { "classpath:spring-test-config.xml" })
public class MyNGTest extends AbstractTestNGSpringContextTests {
[...]
}
Макет всегда возвращает «Hello world», когда компонент, который я хочу протестировать, вызывает на нем «getStringResponse ()»:
public class DataRetrieverBeanMock implements Response {
@Override
public String getStringResponse() {
return "Hello world";
}
}
Пока все работает как положено!
Теперь, чтобы протестировать компонент в различных условиях, мне нужно, чтобы строка, возвращаемая DataRetrieverBeanMock (в настоящее время жестко закодированная как «Hello world»), изменялась для каждого тестового примера, например, первый тест будет тестировать компонент, когда ответ «»успех », второй, когда ответ« ошибка 109 »и так далее. Как определить строку, которая будет возвращена в тестовом примере, и передать ее в фиктивный компонент?