Как стать автором
Обновить

Оценка тестового покрытия интеграционных тестов с помощью JaCoCo. Инструкция к применению

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров3.1K
Всего голосов 12: ↑10 и ↓2+8
Комментарии2

Комментарии 2

А все операции с jacoco через java -jar обусловлены тем, что код тестов java приложений на разных уровнях написан на разных языках (видимо интеграционные на python)?
В обратном случае все можно уложить в фазы самих тестов:

...
import org.jacoco.core.tools.ExecDumpClient;
import org.jacoco.core.tools.ExecFileLoader;
...
import org.junit.jupiter.api.AfterAll;

import java.io.File;
import java.io.IOException;
import java.util.concurrent.atomic.AtomicInteger;

public class IntegrationTestBase {
    private static final AtomicInteger coveragePart = new AtomicInteger(0);
...
    @AfterAll
    public static void tearDown() throws IOException {
        readJacocoDump("./build/jacoco/integrationTest." + coveragePart.get() + ".exec",
            getDockerServiceHost(...),
            getDockerServicePort(..., JACOCO_PORT));
        ...
    }

    private static void readJacocoDump(String destPath, String host, Integer port) throws IOException {
        final ExecFileLoader loader = new ExecDumpClient().dump(host, port);
        loader.save(new File(destPath), true);
    }
...

Нет, интеграционные на java, как и все тесты, которые пишут QA на всех уровнях. Так было проще было встроить в нашу инф-ру, но совет дельный, спасибо!

Зарегистрируйтесь на Хабре, чтобы оставить комментарий