Анализировать охват веб-приложений в Tomcat - PullRequest
0 голосов
/ 15 января 2019

У меня есть приложение, разработанное с помощью VueJS и выполненное в войне с Tomcat. Мне нужно получить информацию о войне, об испытаниях, проводимых отдельно с Selenium. Если бы кто-нибудь из вас мог указать мне правильное направление ... это было бы очень признательно!

1 Ответ

0 голосов
/ 15 января 2019

Для этого с помощью JaCoCo требуется два шага:

1) Добавьте jacocoagent к вашему Apache Tomcat, который собирает данные покрытия и прослушивает порт TCP для запросов на сброс этих данных.

В apache-tomcat/bin/setenv.bat добавить Javaопции:

set JAVA_OPTS=-javaagent:c:\\path\\to\\jacoco\\lib\\jacocoagent.jar=includes=your.classes.packages.*,classdumpdir=jacocoClasses,output=tcpserver 

2) Если вы выполняете свои тесты с помощью Maven, вы можете использовать jacoco-maven-plugin для подключения к порту TCP, открытому с помощью jacocoagent сбора данных покрытия от вашего Apache Tomcat.

Неполный пример:

<plugin>
    <groupId>org.jacoco</groupId>
    <artifactId>jacoco-maven-plugin</artifactId>
    <executions>
        <execution>
            <id>default-prepare-agent</id>
            <goals>
                <goal>prepare-agent</goal>
            </goals>
            <configuration>
                <includes>
                    <include>your/classes/packages/**</include>
                </includes>
            </configuration>
        </execution>
        <execution>
            <id>default-dump-report</id>
            <phase>test</phase>
            <goals>
                <goal>dump</goal>
            </goals>
            <configuration>
                <address>localhost</address>
                <reset>true</reset>
                <destFile>${project.build.directory}/jacoco.exec</destFile>
            </configuration>
        </execution>
        <execution>
            <id>default-report</id>
            <phase>test</phase>
            <goals>
                <goal>report</goal>
            </goals>
            <configuration>
                <includes>
                    <include>your/classes/packages/**</include>
                </includes>
            </configuration>
        </execution>
    </executions>
</plugin>

Остерегайтесь , что данные покрытия JaCoCo применимы только к тем .class файлам, с которыми они были собраны (помечены контрольной суммой). Две компиляции одного .java файла могут привести к .class файлам с разными контрольными суммами. Отчеты JaCoCo, таким образом, объявят его непокрытым.

...