И так есть большой и довольно сложный тест. Допустим он проверяет какую-то сложную логику в случае использования ресурса типа А. Но у нас есть еще ресурсы типа 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"); }Вот и все на сегодня.
Комментариев нет:
Отправить комментарий