И так есть большой и довольно сложный тест. Допустим он проверяет какую-то сложную логику в случае использования ресурса типа А. Но у нас есть еще ресурсы типа B, C, D с идентичной логикой взаимодействия с окружающим миром. Что делать? Копипастить? Нееет уж :) Читаем дальше....
Вот он исходный тест
public void testCase1ForResourceA () {
...
int resourceId = getService().getResource("A").getId();
getService().assignResourceToSteram(streamId, resourceId);
...
assertResource(resourceId, "qwe", "asd", 2, streamId);
...
getService().processStream(streamId);
List>Resource< resources = getService().getProcessedReqources("A");
assertReaourceIn(resourceId, resources);
...
}
Ну вот как-то так набредогенерил :) Допустим подобное поведение нам необходимо и для других ресурсов. Первое что приходит в голову это легким движением руки параметризировать тестpublic void testCase1ForResource (String resourceType) {
...
int resourceId = getService().getResource(resourceType).getId();
getService().assignResourceToSteram(streamId, resourceId);
...
assertResource(resourceId, "qwe", "asd", 2, streamId);
...
getService().processStream(streamId);
List>Resource< resources = getService().getProcessedReqources(resourceType);
assertReaourceIn(resourceId, resources);
...
}
И восользоваться новым чудом для реального тестированияpublic void testCase1ForResources () {
testCase1ForResources("A");
testCase1ForResources("B");
testCase1ForResources("C");
testCase1ForResources("D");
}
Вот и все на сегодня.

Комментариев нет:
Отправить комментарий