Успешно собрать, но не запускаю файлы junit, используя Apache Ant - PullRequest
0 голосов
/ 20 февраля 2020

Я новичок в Apache муравье, чтобы построить проект. В своем проекте я использовал библиотеку MySQL, junit и hibernate. Я работаю над конвейерами bitbucket, поэтому некоторые предлагают использовать его для ant. Итак, я создаю файл build. xml и там процесс чистый, сборка, запуск тестового примера junit. Я провел много исследований, как научиться этому, но я застрял в каком-то месте. У меня есть успех в очистке каталога и сборки, но я застрял, чтобы проверить контрольный пример сбоя junit. Я попытался запустить эти тестовые сценарии в Eclipse, это показывает, что тестовый набор не пройден, но если я запускаю через ant, он всегда говорит, что успешно построен. Я предоставлю структуру моего проекта.

+HiberTest
  --HTest
     --lib         
        --mysql
        --junit
        -- Hibernate..... so many library 
     --src
        -com
           -test
             **so many junit files**
        -com
           -utils
             **so many files**
     --classpath
     --.settings
     --.project
     **and many more files**
  --build.xml   

Вот моя сборка. xml files

<project basedir="." default="junit" name="Hibernate test">
    <property name="debuglevel" value="source,lines,vars" />
    <property name="src.dir" location="HTest/src" />
    <property name="build.dir" location="HTest/bin" />
    <property name="target" value="1.8" />
    <property name="source" value="1.8" />
    <property name="test.dir" value="HTest/bin/com/test" />

    <path id="classpath">
        <pathelement location="bin" />
        <pathelement location="HTest/lib/junit3.8.1.jar" />
        <pathelement location="HTest/lib/antlr-2.7.7.jar" />
        <pathelement location="HTest/lib/byte-buddy-1.10.7.jar" />
        <pathelement location="HTest/lib/classmate-1.5.1.jar" />
        <pathelement location="HTest/lib/dom4j-2.1.1.jar" />
        <pathelement location="HTest/lib/FastInfoset-1.2.15.jar" />
        <pathelement location="HTest/lib/hibernate-commons-annotations-5.1.0.Final.jar" />
        <pathelement location="HTest/lib/hibernate-core-5.4.11.Final.jar" />
        <pathelement location="HTest/lib/istack-commons-runtime-3.0.7.jar" />
        <pathelement location="HTest/lib/jandex-2.1.1.Final.jar" />
        <pathelement location="HTest/lib/javassist-3.24.0-GA.jar" />
        <pathelement location="HTest/lib/javax.activation-api-1.2.0.jar" />
        <pathelement location="HTest/lib/javax.persistence-api-2.2.jar" />
        <pathelement location="HTest/lib/jaxb-api-2.3.1.jar" />
        <pathelement location="HTest/lib/jaxb-runtime-2.3.1.jar" />
        <pathelement location="HTest/lib/jboss-logging-3.3.2.Final.jar" />
        <pathelement location="HTest/lib/jboss-transaction-api_1.2_spec-1.1.1.Final.jar" />
        <pathelement location="HTest/lib/mysql-connector-java-5.1.48.jar" />
        <pathelement location="HTest/lib/stax-ex-1.8.jar" />
        <pathelement location="HTest/lib/txw2-2.3.1.jar" />
    </path>

    <target name="clean">
        <delete dir="${build.dir}" />
    </target>

    <target name="init" depends="clean">
        <mkdir dir="${build.dir}" />
        <copy includeemptydirs="false" todir="${build.dir}">
            <fileset dir="${src.dir}">
                <exclude name="**/*.launch" />
                <exclude name="**/*.java" />
            </fileset>
        </copy>
    </target>

    <target depends="init" name="build-project">
        <echo message="${ant.project.name}: ${ant.file}" />
        <javac debug="true" debuglevel="${debuglevel}" destdir="${build.dir}" includeantruntime="false" source="${source}" target="${target}">
            <src path="${src.dir}" />
            <classpath refid="classpath" />
        </javac>
    </target>


    <target name="junit" depends="build-project">
        <junit printsummary="yes" haltonfailure="yes">
            <classpath>
                <path refid="classpath" />
                <pathelement location="HTest/src/com/utils" />
            </classpath>
            <formatter type="brief" usefile="false" />
            <batchtest>
                <fileset dir="${test.dir}" includes="*.java" />
            </batchtest>
        </junit>
    </target>



</project>
It always gives me this output:- 

clean:
   [delete] Deleting directory F:\Repository\Agile\HiberTest\HTest\bin

init:
    [mkdir] Created dir: F:\Repository\Agile\HiberTest\HTest\bin
     [copy] Copying 1 file to F:\Repository\Agile\HiberTest\HTest\bin

build-project:
     [echo] Hibernate test: F:\Repository\Agile\HiberTest\build.xml
    [javac] Compiling 3 source files to F:\Repository\Agile\HiberTest\HTest\bin

junit:

BUILD SUCCESSFUL
Total time: 1 second

Я хочу проверить, что если тест junit не пройден, то остановите процесс сборки, и если все пройдет без ошибок, а затем я хочу создать исполняемые файлы JAR

Заранее спасибо

1 Ответ

0 голосов
/ 21 февраля 2020

Сборка начинается в "build", и иерархическая структура никогда не вызывает junit. Попробуйте изменить:

<target depends="build-project" name="junit" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...